Tools and philosophies in web engineering…
admin | January 13, 2008After or within the Requirements elicitations phase you often think about webflows and maybe basic functionalities on your web pages. Some functional requirements can be grouped together in web-/navigation-flows e.g. an order flow, an editable address book, a credit card edit page or a passwort retrieval within a web application. Different views like clickflows in particular, sitemaps (pages overview) and wireframes for each page can help you getting an idea about the whole thing. Additional informations can be included into use cases (see: Use Case on wikipedia)
Web page prototypes or mock-up screens, wireframes, clickflows can also help the page designers thinking about the user-interface and usability. Page designers, software architects, application- and UI-component developers can deliver input for the next step: the technical design specification. The technical design document contains informations about the appropriate architecture (platform, framework, library and software) and implementation details e.g. sequence and/or activity diagrams.
The processs shortly described above begins from the business view through the frontend and then to backend implementation. So i would say the implementation is a more frontend-driven process. At least you create a overall documentation with references, an operational handbook and if needed a userguide for your software.
In order to your requirements you can implement your enterprise application from a domain model . Some tools can help you by generating the needed classes for a crud (create, read, update, delete) application from the given domain model class diagram (domain driven development). This process goes from the backend to the frontend through the middle tier. This is in most cases a typical monolithic architecture but in nowadays the architecture is more service oriented. Architectures are following the SOA principles (see SOA on Wikipedia). Note that each architecture, monolithic with multi-tier layers or SOA landscapes have pro and cons. It´s up to you to find out what´s the best suited model/philosophy for your software. Your IT landscape has also some constraints to the maintenance staff, business view etc.
In my point of view the software development in the near future will be driven by business rules which are modeled and described with appropriate tools/languages like BPEL or JBPM. With JBPM you can model a particular business process. It´s also possible to group particular business processes together so that you get a new web flow or navigation rule for the whole business process. Think about a complete business process from customer registration to order to delivery to billing to maintenance. This software process is rule based way.
Tools for creating wireframes, mock up pages, sitemaps etc.:
- Axure,
- Omnigraffle (Mac),
- Concept Draw WebWave
ORM Data Mapper Frameworks:
- Hibernate,
- iBatis
JBPM:
- JBoss Tools 2.0.0.GA with integrated Hibernate Tools as a core component of JBoss Tools
Rules Engines based on JSR 94, Java Rule Engine API:
- JBoss Drools,
- JLisa,
- Ilog JRules,
- Jess,
- OpenRules
Note that the web application framework JBoss Seam 2 contains Hibernate (hibernate.jar, hibernate-annotations.jar, hibernate-commons-annotations.jar, hibernate-entitymanager.jar, hibernate-search.jar, hibernate-validator.jar) and Drools (drools-core.jar, drools-compiler.jar) as libraries within the framework. There exist a lot more frameworks/jar files within Seam 2 (overall 86 jars plus additional jars in lib/test and lib/src folder). See Seam 2 page for details or take a look into the JBoss Seam 2.0.0.GA Package.






Recent Comments