CARE

TECHNOLOGIES

Model based multi-tier & multi-platform application generation By Javier Hernandez

EXECUTIVE SUMMARY As the Object Management Group [10] states in its Model Driven Architecture (MDA) [11] initiative, a key success factor in software development should be separation of business and application logic from implementation platform. Existing platforms evolve quickly and new ones appear, so we need our application definition far from implementation details. This will allow us an easy migration from one platform/technology to another one, even more if we have tools that help us in such a process. OlivaNova Model Execution products [9] were conceived with these ideas in mind, even before the MDA initiative. Applications are specified with object-oriented formal models, which are used to generate, in an automatic manner, the full application in the lastest multi-tier plattforms. Starting from a conceptual model, in a few minutes, we can see the same application running in a Java 2 Enterprise Edition (J2EE) [3] application server or as a rich desktop client using Microsoft COM+ [7] components.

Model based multi-tier & multi-platform application generation TRADEMARKS OlivaNova is a trademark of CARE Technologies S.A. OMG is a trademark of the Object Management Group CORBA is a Registered Trademark of the Object Management Group MDA is a trademark of the Object Management Group UML is a trademark of the Object Management Group Windows is a trademark of Microsoft Corp. Java and J2EE are trademark of Sun Microsystems, Inc. While the information in this publication is believed to be accurate, CARE Technologies makes no warranty of any kind to this material including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. CARE Technologies shall not be liable for errors contained herein, or for incidental or consequential damages in connection with the furnishing, performance or use of this material. COPYRIGHT NOTICE No part of this publication may be reproduced, stored in a retrieval system or transmitted, in any form or by any means, photocopying, recording or otherwise, without prior written consent of CARE Technologies. No third-party intellectual property right liability is assumed with respect to the use of the information contained herein. CARE Technologies assumes no responsibility for errors or omissions contained in this white paper. This publication and features described herein are subject to change without notice. Copyright © 1999-2003 CARE Technologies. All rights reserved. All products or services mentioned in this white paper are covered by the trademarks, service marks, or product names as designated by the companies that market those products.

© CARE Technologies S.A, MMIII.

2/8

Model based multi-tier & multi-platform application generation

Table of Contents 1 Introduction................................................................................................................................... 4 2 Overview of Client/Server Software Architectures.......................................................................... 4 3 Plattforms for building n-tier applications ................................................................................... 5 4 Building n-tier applications with Oliva Nova Products.................................................................. 5 4.1 The Persistence Tier............................................................................................................... 6 4.2 The Middle Tier....................................................................................................................... 6 4.3 The Client Tier........................................................................................................................ 7 5 Conclusions................................................................................................................................... 7 6 References..................................................................................................................................... 7

© CARE Technologies S.A, MMIII.

3/8

Model based multi-tier & multi-platform application generation

1 Introduction In the last two decades as hardware technology has evolved, the software that runs inside has evolved too. New possibilities have meant new software architectures and new products supporting these architectures. But migrating existing applications has been a difficult and a high resourceconsuming task. One of the reasons has been that application semantics has been in paper an even in source code. Now, is time to use new tools that allow us to express, store and process application specification for building them. Therefore in the future, when new products and new architectures appear, we will only need a migration tool to create new versions of our applications. Oliva Nova Model Execution products are a real example of these ideas: with Oliva Nova Modeling Software you can express your business database-based application by using a powerful objectoriented formal language with a Unified Modeling Language (UML)-like [13] graphical notation. The specification is stored in an eXtensible Markup Language (XML) [14] file that is used by OlivaNova Transformation Engines to generate full applications in diverse plattforms. Up to now, with OlivaNova you can move from one n-tier platform to another (interesting, isn’t it?). In the future, when new architectures or new enhancements to current products will emerge, new transformation engines will allow you, whithout a great pain, to move to them.

2 Overview of Client/Server Software Architectures Well, at the beginning it was … the mainframe. Not really a client/server architecture, a central host with many terminals. It was difficult to build Graphical User Interfaces (GUI) or access multiple, disperse databases. With the advent of PC networks, file sharing architectures appear where the server provides files from the shared location to the desktop environment. With this architecture, Graphical User Interfaces become popular. However, this architecture can only satisfy a very limited number of siumltaneous users. To solve file sharing architecture limitations, the client/server architecture appeared, where instead of a file server we have a database server. The architecture provides a query-response paradigm instead of file transfer. Clients are heavy GUI applications placed in the user’s desktop environment. The processing management is splitted between these applications and the database management server environment. This architecture is a good solution when the number of clients is defined as a dozen to one hundred people interacting on a Local Area Network. Important problems with this approach are client distribution and the update to new versions. The evolution of client- server lead us to 3-tier and n-tier architectures. In the 3-tier architecture a middle tier was added between the client (Graphical User Interface), and the database server. This new tier can be implemented in several ways such as transaction processing monitors, message servers, or application servers. The result is an improved performance for groups with a large number of users (in the thousands) and an improved flexibility. With the enhancement of web technologies, a new kind of light client is used: the browser. As a result, new tiers are added like the web server, and engines to provide dynamic web content. Advantages of this architecture include an easy deployment and update of the clients.

© CARE Technologies S.A, MMIII.

4/8

Model based multi-tier & multi-platform application generation

3 Plattforms for building n-tier applications N–tier architectures are the coolest ones and there are a lot of products for supporting the different layers. Let’s review a survey: As everybody knows, in the persistence tier, Relational databases and SQL were and, are still today, the kings. We can choose between many high quality and high performance products. ObjectOriented Databases [8] are trying to get on the market with little success up to now. Therefore, the constant piece that is always present in a business application is a relational database. In the middle tier we can choose between many technologies, many of them based on server component models. The best known are CORBA [2], COM+ [7] and EJB [3]. CORBA is the most complete and powerful model but with a high level of complexity that has lead it to be not as used as expected. COM+ is a Microsoft extension of its ActiveX model for server components, easy to develop and use. EJB is the SUN Java™ extension for server components, it is a model richer than COM+ but not as complex as CORBA. For the client part, GUI desktop clients have been the most used. These have been built in many different programming languages, but finally Rapid Application Development enviroments, like Microsoft Visual Basic, have been the most popular and successful tools. In the last few years, a new way has been taken: the web client. To support this posibility, several extensions to web servers have been created for adding dinamyc web content, the most popular are ASP [6], Cold Fusion [5], PHP [12] and JSP [4]. ASP is well suited to work with COM+ server components. JSP can work seamlessly with EJB (as both are part of the same platform Java 2 Enterprise Edition). Cold Fusion is a very flexible enviroment and can interoperate with a wide variety of server components like COM+ and EJB.

4 Building n-tier applications with Oliva Nova Products The OlivaNova Modeling Software captures application logic, rules, and user interface. This is done using an Object-Oriented formal language, but using a UML-like graphical notation in many parts of the model. The Modeler uses class diagrams, state diagrams, and intoduces new ways to capture functional and GUI requirements. All of this creates a set of models in standard XML for output to the OlivaNova Transformation Engines. The OlivaNova Transformation Engines take the XML models and act as model compilers to create all the artifacts needed in the different tiers: the database scripts, uncompiled server and client code, and dynamic web pages. We support the main Relational Databases, Microsoft Visual Basic, Microsoft COM+, Java and J2EE architectures, and Macromedia Cold Fusion.

© CARE Technologies S.A, MMIII.

5/8

Model based multi-tier & multi-platform application generation

Figure 1 N-Tiers support by OlivaNova Model Execution Technology

4.1 The Persistence Tier The OlivaNova Server Transformation Engines generates all the Data Definition Language (DDL) scripts for creating the relational database that the modeled application needs. The created databases follow well-known object-relational mappings, and strong constraints captured in the model are imposed on them. Specific syntax and scripts for the main Relational Database Management Systems like Oracle, MS SQL Server and DB2, are supported.

4.2 The Middle Tier For Windows-based systems, OlivaNova Server Transformation Engines generate complete Visual Basic projects containing COM+ components. The components implement and expose an Application Program(ming) Interface (API) with all of the functionality that the clients need, as it was expressed in the model. These components can be called via DCOM or through Web Services calls. For systems with Java™ and J2EE support, OlivaNova Server Transformation Engines generate the Java source code, XML descriptors (standard and specific for the most popular application servers), and build scripts to obtain complete EJB modules. Those can be assembled in an enterprise application that can include one or several web clients. Components can be invoked through Java Remote Method Invocation calls or using a HTTP/XML based protocol. The functionality and API are equivalent for EJB and COM+ generated components, as both implement the same model specification. It is possible to interchange the middle tier without affecting the persistence or the client tier.

© CARE Technologies S.A, MMIII.

6/8

Model based multi-tier & multi-platform application generation

4.3 The Client Tier OlivaNova Client Transformation Engines can generate rich interactive desktop clients. The artifacts produced are full Microsoft Visual Basic (VB) projects, which are compiled to obtain the clients. The code is highly based on ActiveX components that allow easy adaptation if needed. An important characteristic is that clients can operate indistinctly with both COM+ or EJB server generated components. For light web clients, OlivaNova Client Transformation Engines generate Cold Fusion and JSP pages. Here, the interaction is more limited than in the VB client due to Dynamic HTML limitations, but in general both clients allow the same functionality. As in VB, the Cold Fusion client can work indistinctly with COM+ or EJB server generated components. The JSP client was designed to be the natural client part of EJB components in a J2EE application, and uses Java RMI to interact with them. The generated artifacts include scripts to build the full J2EE application.

5 Conclusions It is time to think about Model Execution. Abstract model specification isolates your model from the technology, and automatic generation tools allow you to quickly reach different platform implementations. OlivaNova Model Execution products are a clear example, the OlivaNova Modeling Software enables to capture application semantics and OlivaNova Transformation Engines generate the implementation for the most used and/or fashioned technologies. For new technologies, new transformation engines will appear and they will ease migration or enhancement of existing applications. That’s life and work is in progress to support the .NET platform and PDA clients.

6 References [1]

Carnegie Mellon - Software Engineering Institute.

http://www.sei.cmu.edu/str/descriptions/clientserver.html

[2]

CORBA Common Object Request Broker Architecture. http://www.corba.org/

[3]

Java™ 2 Enterprise Edition. http://java.sun.com/j2ee/

[4]

Java Server Pages. http://java.sun.com/products/jsp/

[5]

Macromedia Cold Fusion. http://www.macromedia.com/software/coldfusion/

[6]

Microsoft Active Server Pages. http://msdn.microsoft.com/asp

[7]

Microsoft COM+. http://www.microsoft.com/com/tech/COMPlus.asp

[8]

ODMG Object Data Management Group. http://www.odmg.org/

[9]

OlivaNova Model Exection. http://www.care-t.com/

[10]

OMG Object Management Group. http://www.omg.org/

[11] [12]

OMG Model Driven Architecture. http://www.omg.org/mda/ PHP: Hypertext Preprocessor. http://www.php.net/

[13]

UML Unified Modeling Language. http://www.uml.org/

[14]

XML Extensible Markup Language. http://www.w3c.org/XML/

© CARE Technologies S.A, MMIII.

7/8

Model based multi-tier & multi-platform application generation Javier Hernández CARE Technologies S.A. http://care-t.com Partida Madrigueres, 44. 03700 Denia, Alicante, Spain. [email protected]

CONTACT INFO Spain: CARE Technologies S.A. [email protected] Tel. +34 96 643 5555 Fax. +34 96 643 5554 USA:

Sosy Inc. [email protected] Tel. +1 415 362 4333 Fax. +1 415 362 4703

Germany: CARE Technologies GmbH [email protected] Tel. +49 89 21923774 Fax. +49 89 21923756 CARE Technologies white papers can be downloaded at http://www.care-t.com.

© CARE Technologies S.A, MMIII.

8/8

Model based multi-tier & multi-platform application ... - Semantic Scholar

one platform/technology to another one, even more if we have tools that help us in such a process. OlivaNova .... Software you can express your business database-based application by using a powerful object- oriented ... Advantages of this.

133KB Sizes 1 Downloads 209 Views

Recommend Documents

Model based multi-tier & multi-platform application ... - Semantic Scholar
specification is stored in an eXtensible Markup Language (XML) [14] file that is used ... dinamyc web content, the most popular are ASP [6], Cold Fusion [5], PHP.

MCGP: A Software Synthesis Tool Based on Model ... - Semantic Scholar
Department of Computer Science, Bar Ilan University. Ramat Gan 52900 .... by following the best generated programs, and by navigating through the chain.

Model-based Detection of Routing Events in ... - Semantic Scholar
Jun 11, 2004 - To deal with alternative routing, creation of items, flow bifurcations and convergences are allowed. Given the set of ... the tracking of nuclear material and radioactive sources. Assuring item ... factor in achieving public acceptance

Graph Theory Techniques in Model-Based Testing - Semantic Scholar
Traditional software testing consists of the tester studying the software system .... In the case of a digraph, an Euler tour must also take account of the direction.

MCGP: A Software Synthesis Tool Based on Model ... - Semantic Scholar
whether) a candidate solution program satisfies a property. The main ... software, a natural challenge is to generate automatically correct-by-design pro- grams.

A Taxonomy of Model-Based Testing for ... - Semantic Scholar
ensure a repeatable and scientific basis for testing. ... is insufficient to achieve a desired level of test coverage, different test methods are ... The test specification can take the form of a model, executable model, script, or computer ..... Onl

A Taxonomy of Model-Based Testing for ... - Semantic Scholar
1. A Taxonomy of Model-Based Testing for Embedded. Systems from Multiple Industry Domains. Justyna Zander, Ina Schieferdecker, and Pieter J. Mosterman.

Mixin-based Inheritance - Semantic Scholar
Department of Computer Science ... enforces a degree of behavioral consistency between a ... reference, within the object instance being defined. The.

Model Combination for Machine Translation - Semantic Scholar
ing component models, enabling us to com- bine systems with heterogenous structure. Un- like most system combination techniques, we reuse the search space ...

A demographic model for Palaeolithic ... - Semantic Scholar
Dec 25, 2008 - A tradition may be defined as a particular behaviour (e.g., tool ...... Stamer, C., Prugnolle, F., van der Merwe, S.W., Yamaoka, Y., Graham, D.Y., ...

Model Interoperability in Building Information ... - Semantic Scholar
Abstract The exchange of design models in the de- sign and construction .... that schema, a mapping (StepXML [9]) for XML file representation of .... databases of emissions data. .... what constitutes good modelling practice. The success.

ACTIVE MODEL SELECTION FOR GRAPH ... - Semantic Scholar
Experimental results on four real-world datasets are provided to demonstrate the ... data mining, one often faces a lack of sufficient labeled data, since labeling often requires ..... This work is supported by the project (60675009) of the National.

Model of dissipative dielectric elastomers - Semantic Scholar
Feb 3, 2012 - View online: http://dx.doi.org/10.1063/1.3680878. View Table of Contents: ... As a result of their fast response time and high energy density, dielectric ... transducer is an electromechanical system with two degrees of freedom.

Application-Independent Evaluation of Speaker ... - Semantic Scholar
The proposed metric is constructed via analysis and generalization of cost-based .... Soft decisions in the form of binary probability distributions. }1. 0|). 1,{(.

Application-Independent Evaluation of Speaker ... - Semantic Scholar
In a typical pattern-recognition development cycle, the resources (data) .... b) To improve a given speaker detection system during its development cycle.

Model Construction in Planning - Semantic Scholar
For all but the simplest domains, this technique has obvious deficiencies. ... programming might be a good trick to use, though, if we can develop a planner that can identify parts of a ... It might post a goal to visit the market to buy supplies.

Application-Specific Memory Management in ... - Semantic Scholar
The Stata Center, 32 Vassar Street, Cambridge, Massachusetts 02139. Computer Science and ... ware mechanism, which we call column caching. Column caching ..... in part by the Advanced Research Projects Agency of the. Department of ...

Dependency-based paraphrasing for recognizing ... - Semantic Scholar
also address paraphrasing above the lexical level. .... at the left top of Figure 2: buy with a PP modi- .... phrases on the fly using the web as a corpus, e.g.,.

Band-Reconfigurable Multi-UAV-Based ... - Semantic Scholar
CSOIS, Electrical & Computer Engineering Department, Utah State. University, Logan, USA ... Proceedings of the 17th World Congress ... rate mapping but with a limited range (inch level spatial ..... laptop as a MPEG file for further processing.

High Performance RDMA-Based MPI ... - Semantic Scholar
C.1.4 [Computer System Organization]: Parallel Archi- tectures .... and services can be useful in designing a high performance ..... 4.6 Polling Set Management.

Online Video Recommendation Based on ... - Semantic Scholar
Department of Computer Science and Technology, Tsinghua University, Beijing 100084, P. R. ... precedented level, video recommendation has become a very.