Hi, this is my first time blogging here. I'm an architect in the Data Studio development team, and I work on integrations, heterogeneous database access, and more. I wanted to use this opportunity to tell you about some work I did with pureQuery and Enterprise Generation Language.
Enterprise Generation Language (EGL) is a modern programming language specifically designed to help the business-oriented developers quickly write full-function applications and services based on Java and modern Web technologies. Business-oriented developers write their business logic in EGL source code using the powerful development facilities of Rational Business Developer Extension, Rational Developer for System z with EGL, or Rational Developer for i for SOA Construction. From there, the tools then generate Java or COBOL code, along with all the runtime artifacts you need to deploy the application to the desired execution platform.
Data Access is one of the key components of EGL. You can access your database data using EGL SQL Records which provides a very high level of abstraction and allows you access to the data using simple verbs or you can write your own data access logic. Below are simple examples showing both scenarios.
Figure 1. SQL Records
Figure 2. A basic data access program
If you are a regular reader of this forum, you probably already know that pureQuery is IBM's, high-performance data access platform focused on simplifying, developing, securing, managing, and optimizing applications that access data. You may have read about the benefits of using pureQuery client optimization with Hibernate, JPA, and even .NET applications. You can also use pureQuery technology with the Java code generated from EGL to
- Optimize applications that access DB2 on any platform by capturing the statements generated by your EGL application, binding the statements to database packages, and then executing the application in static mode.
- Get an insight into your EGL application using Data Studio Developer (which shell-shares with Rational Business Developer) to see a list of SQL statements originating from your EGL application with details on number of times executed and execution times. And you can of course use the outline to jump between the SQL statement and the originating line of Java source code.
- Replace SQL in the program without having to change the application code (if you don't have access to the source code, for example).
- Prevent SQL injection by allowing only SQL statements that have been captured and approved to run against the database.
Kathy Zeidenstein and I have put together a tutorial on Rational Cafe that shows how this integration works and how the technologies can be used by EGL customers writing applications with DB2 data servers.
Enjoy, and let me know if you have any questions.