At this meetup we will be hearing from Ray Elenteny. Ray has been working in software development for over 30 years. The vast majority of that time has been spent working for product development organizations across several industries and technologies. He started coding as a hobby in 1976 and still considers himself lucky enough to be getting paid for his hobby. Currently, he is the Vice President of Architecture at Bottomline Technologies working out of their office in Alpharetta. While he may not be the youngest person in the room and happens to hold a VP title, Ray still spends many hours per week in front of an IDE either helping teams sort through various challenging issues, developing prototypes, exploring new technologies or just relaxing with some code. He enjoys spending good bits of time guiding, teaching and mentoring teams in the US and overseas within Bottomline Technologies. He also engages with executive and product management, and customers ranging from the largest banks in the world to small corporations helping them to discover how they can best leverage technology to meet the challenges and demands faced by corporations today. A couple of the current technologies keeping him occupied include Elasticsearch and Docker (but isn't that just about everyone now?).
When he's not playing around with technology, Ray enjoys spending time with his wife of nearly 30 years, his five children and four grandchildren. In addition, he's an avid racquetball player - playing multiple days per week plus the occasional tournament.
Improving the Enterprise Application Query User Experience
In enterprise applications, user's are often presented with lists/tables of data. Typically in order for users to filter the data in a table, they are required to step through a combination of drop-downs, combo boxes and input fields to build the filter query. While this pattern for filtering data behavior remains a staple in most enterprise applications, users have become accustom to searching for information by simply typing in an input a' la Google, Amazon or just about any shopping site. Why shouldn't it be the case in enterprise applications as well? By storing both pre-defined as well as previously executed queries in Elasticsearch and then leveraging various matching techniques, the essentials are in place to provide this type of query service. Beyond the essentials though, an enterprise application has additional interesting challenges. For example, if a user is searching for invoices, they shouldn't receive hints on queries for purchase orders. On the other hand, if a user is searching on invoice number, both invoices and purchase orders may be the target of the search. In addition, there may be situations where only certain individuals may see pre-defined or previously executed queries. Stored queries may require access control lists be associated to them by user, user group, role or a combination thereof. It may also be desirable to provide users with queries in their native tongue regardless of the language used when a query was originally stored. Finally, while Elasticsearch would be used to handle all aspects of storing, searching, retrieving and securing queries, the queries themselves should be able to be interpreted by any data source including SQL databases, No-SQL databases, web services, and so on. In this presentation, we'll look at a pattern and code for providing this type of query service in order to provide a contemporary search experience that considers enterprise application needs and requirements.