Component Integration

Jan Burse, created Apr 08. 2009 We asserted that the planned sales system demands a set of integration tasks. We would like to highlight how our technical architecture supports our project. Viewed from a distance we use a 3-tier structure consisting of browser, web server and data bases. Interestingly enough integration takes place on each level, although in a different form. The integration in the Web server is most obviously, here program sections is joined together. In addition, integration possibilities are given in the browser. Simple hyperlinks are sufficient to connect sub applications. Finally we must admit that data can also be integrated in unexpected ways, for example in that keys are coded in text fields. The technologies used by us are very simple. For the execution of sub applications we restrict ourselves to primitive web conversations, so that no JavaScript and no Applets are needed. During the HTA project this client/server architecture has been named „Ultra Thin“, since the clients responsibility is only the display of HTML. The work load is handled by JSP, Servlets and Java in the web server, as well as by queries and updates to the databases. The database access is handled by Matula, which allows an automatic adaption to different SQL dialects. But how does this related to SOA? Well we do not view the sub applications from the user interface or data perspective alone. Instead we assume, that the sub applications provide services and that the sales system will combine these services. Despite these similarities with SOA, we do not consider our approach classical. Whereas a service is normally viewed as a function with input/output parameters, we use a variant of moment-interval objects, where the input/output parameters are accessed via setter/getter methods. Moment-interval objects were hinted to us by Peter Coad's UML book. The big advantage is based on the fact, that no synchronization is necessary, when they are transiently created by the executing thread. Nevertheless these objects can have their own state. We use moment interval of objects not only in Servlets, but also in the JSP and in the Java. Finally Matula supplies moment interval objects for the data base access as well. Those objects implement the cursors pattern. By means of the cursor pattern, in opposition to the finder pattern, large data sets can be accessed memory-efficient.