Jul 05

In some views SOA is represented as a series of 4 layers: Presentation Layer (SOA 1), Business Process Layer (SOA 2), Business Service Layer (SOA 3) and Technical Layer (SOA 4). Typically each layer higher up in the hierarchy consumes services exposed by the layer under it. So the Presentation Layer would consume services provided by the Business Process or Business Service Layers. Service interfaces are described using Web Services Description Language (WSDL), sheltering service consumers from details of service implementation. Web Services are seen as the technical means to implement the decoupled functional layers in a SOA development. Decoupling allows implementations of business functionality at different layers to be swapped in and out without disturbing other layers in the stack.

In this document I will implement a multi-operation Web Service that will allow patient information to be upserted into a database table and will return all patient details for a patient whose Facility+Local ID are specified in the request. This service will be used to populate the patient table and to implement patient lookup portlets, discussed in other writeups in this series. This is a basic Patient Service that hides the specifics of interaction with the patient data store form applications that need to interact with it, by providing a defined interface and web service-based implementation. Thus the data store may change but the service consumers need not. We use the Database BC with select, insert and update operations and Database BC with SQL File-based parameterized SQL prepared statement. We handle null value insertion on missing data. We also use the SOAP/HTTP BC and the BPEL SE.
The business idea is that patients are looked after in various healthcare facilities. Information about patients is stored in a relational database. This information must be inserted, for new patients, and updated, for existing patients, as required. Frequently applications need to search for a patient and display details to human operators. To shelter application developers from the details of the data store the upsert functionality and patient details lookup functionality will be made available as a multi-operation web service.

Walkthrough Document: 02_PatientSvc_GFESBv21.pdf
Companion Archive: 02_PatientSvc_companion_archive.zip

Aug 27

In a number of blog entries I used Oracle 9i as the database against which solutions under discussion were executed. This is dandy for people who have Oracle, which is a payware piece and quite expensive. For these who don’t have Oracle the examples would have been less useful. To remedy this situation, and take advantage of availability of Sun MySQL Community Server as a Free, Open Source software, I resolved to use My SQL in all blog notes, which require a database, which I will be developing from now on. For these who care, MySQL is the third most used RDBMS in the World. Some of the largest web sites in the World use it.See my blog at http://blogs.sun.com/javacapsfieldtech/entry/mysql_community_server_and_gui for discussion of how to obtain, install and configure MySQL Community Server on Windows.

This note discusses how to configure the Java CAPS 6 JDBC eWay (Repository) to connect to the MySQL Community Server both in XA and non-XA mode. In particular, the note points out an additional, critical configuration item that is undocumented and is bound to trip plenty of people. I hope this will save you the time and the trouble of working out for yourself what the correct incantations are.

The entire note is contained in Java CAPS 6 JDBC eWay _Repository_ MySQL Configuration.pdf

Tagged with:
Aug 27

In a number of blog entries I used Oracle 9i as the database against which solutions under discussion were executed. This is dandy for people who have Oracle, which is a payware piece and quite expensive. For these who don’t have Oracle the examples would have been less useful. To remedy this situation, and take advantage of availability of Sun MySQL Community Server as a Free, Open Source software, I resolved to use My SQL in all blog notes, which require a database, which I will be developing from now on. This note discusses how to obtain and install MySQL Community Server, MySQL GUI Tools and MySQL JDBC Driver. Both are freely downloadable and usable for any purpose with no strings attached. For these who care, MySQL is the third most used RDBMS in the World and some of the largest web sites in the World use it.

MySQL_Community_Install.pdf provides the discussion of this topic.

Tagged with:
preload preload preload