【正文】
as interfaces. All service implementations must implement one or more business interfaces. It is remended that the service layer throws custom business exceptions when there are business rule validation errors. The developed XYZ framework adopts a declarative transaction management approach based on the Spring framework[8]. This is implemented using Aspect Oriented Programming (AOP).The developed XYZ framework promotes a good practice of separating the deployment interface (contract with service consumers) from the service interface (contract representing application business logic). Deployment interface is a Java interface that represents the service exposed in the WSDL. The class that implements this interface always must delegate requests to the class that implements the service interface. This ensures that all business logic is maintained at one place in the correct layer. Service interface is a Java interface that represents business logic. In most cases the deployment interface will contain a subset of methods from the service interface.Apache Axis Web service framework is the current standard for Web services. When developing Web services, there are two distinct approaches[9]: contract first and contract last. The difference between contract first and contract last approaches lies in whether the WSDL is created first or whether it is generated from code.Contract first approach is a good practice for developing Web services, when the service consumer and provider are external vendors who might implement the Web service using different technologies from each other (they may instead of Java) [10].4. Middle layer integrationThere are several techniques for integrating with the external resources such as databases and Web service. The developed XYZ framework uses these techniques in a logical layer called the ‘integration’ layer. The design goals for this layer are: (1) Access to databases using JDBC or Hibernate should be encapsulated in Data Access Objects (DAO). (2) Consuming Web services should be as simple as possible. (3) All conversion of external data formats into application domain objects should be restricted to this layer. (4) Unit testing classes in this layer should be simple and easy to do.The developed XYZ framework supports the use of Hibernate and direct JDBC calls to access relational databases. It is remended to use Spring framework’s template classes: JdbcTemplate and HibernateTemplate. When using direct JDBC to access relational databases, it is remended that the application’s DAOs extend from Spring framework’s JdbcDaoSupport. The JdbcTemplate class manages resources used in accessing databases (for example PreparedStatement). The developed XYZ framework inserts the data source into DAOs using application configuration files. When using Hibernate to access relational databases, the Hibernate SessionFactory is injected into the application DAOs through application configuration files.5. Development life cycleThe developed XYZ framework’s emphasis on structure enables clear definition of roles and their interactions in a development team. Three roles are described below. An interaction between such roles is critical to the successful pletion of application development. (a) Front end developers are focused on developing JSPs, Action/ActionForm classes and exposing Web services. (b) Services developers are focused on developing application services and integrating the different parts of the application used by these services. (c) Integration developers are focused on developing integration artifacts such as DAOs, or consuming Web services.One of the basic problems in development is how to develop and integrate code when its dependent ponents are not ready or available. The developed XYZ framework resolves this problem by providing a structure to declaratively inject “mock objects” and also replace “mock objects” with real objects as the development life cycle progresses. This is possible due to the ability to configure our application using different configuration sets. The framework enables teams to make testing an integral part of the development process. This is made possible by writing and running JUnit tests. The framework is focused on testing application services and their dependencies. Applications are deployed in a single Enterprise Archive (EAR) file. The developed Ant script generates this EAR file and can be run manually or periodically through a scheduler. It is remended to run all the JUnit tests before creating the EAR for deployment.6. ConclusionIn this paper, the author has provided an overview of the developed J2EE framework. The author has addressed important architecture topics, technologies and development steps that one should consider in a J2EE project. The information is taken from realworld experiences, and is intended to help developers build J2EE systems, and design their own custom frameworks. This, however, is just the tip of the iceberg, as no short paper could describe in detail J2EE’s potential impact on scientific and enterprise applications and, especially, on Webbased simulation software for nonlinear analysis.AcknowledgementsThe author is grateful to his . advisor Professor Yuri Yatsenko (from Houston Baptist University) for his advice.References[1] N. Hritonenko, Yu. YatsenkoCreative destruction of puting systems: Analysis and modelingJournal of Superputing, 38 (2006), pp. 143–154[2] Yu. Yatsenko, N. HritonenkoNetwork economics and optimal replacement of agestructured IT capitalMathematical Methods of Operations Research, 65 (2007), pp. 483–497[3] . BoranbayevReference architecture for web applicationsReports of the National Academy of Science of the Republic of Kazakhstan, 5 (2007), pp. 18–26[4] The Spring Framework official website[5] Martin Fowler discusses details of the dependency injection pattern and how spring injects dependencies: [6] Spring reference manual’s c