Towards a universal architecture for Business Web Applications

Choosing the appropriate architecture for your application is key. A lot of projects are in trouble because the development team did not apply well-known industry architecture best practices. Software projects using modern technologies such as Java, J2EE, XML, and Web Services are no exception to this rule.

In order to avoid this type of problem it is frequently recommended to use patterns that range from the classic Gang of Four patterns, Java patterns, to EJB design patterns, the Sun's Core J2EE Patterns catalogue and much more. Furthermore it is recommended to avoid so-called antipatterns; these are patterns that have been consolidated in the literature after thorough study of project failures.

Applying well-known industry architecture best practices, avoiding practices that have led to failures in the past and steadily improving your architecture from project to project is for sure an advisable way to go as an IT architect. It is though not enough in order to really optimize your development.

Why?

First, because your architecture will remain proprietary, regardless of how good it is. Second, because it will reflect the experience of your projects only and will miss the experience of the multitude of projects that take place outside your department and your company. And third, because your architecture will evolve from project to project in a way that developers working on different projects will have a different knowledege status and will in many cases not be able to maintain code written by others.

In other words, because it is very difficult and time consuming to achieve an industrial-like software development with a proprietary architecture.

That’s the point at which we start:

With the UltraCore™ Model Driven Architecture (UltraCore™ MDA) we provide IT architects with a universal architecture for Business Web Applications featuring the following unique concepts:

  • Platform independent source code model
  • Fusion of plain data with meta data
  • Use Cases structured according to the prepare-validate-execute pattern
  • Wizards (Stateful Use Cases)
  • Event Listeners
  • Abstract stateful GUI components

The UltraCore™ MDA has been proven to be successful in a variety of projects from the domains Telecommunications, Banking, Finance, Insurances, Marketing and Media, Shipping and Logistics with different development teams. It follows a pragmatic Modefl Driven Architecture (MDA) approach that guarantees the agility of the software development process: While classic MDA defines system functionality by using a Platform Independent Model (PIM) that is written in a Domain-Specific Language, UltraCore™ moves the PIM to the source code level, featuring in this way the unique concepts of “no automatic code generation” and “platform independency of source code” (c.f. background article The MDA approach of UltraCore).

UltraCore™ MDA is provided together with UltraCore™; that is ULTRA4's end-to-end platform for the development of multi-tiered Business Web Applications.

What is UltraCore™ and what benefits does it bring to web development?

UltraCore™ is ULTRA4’s end-to-end platform for the development of multi-tiered Business Web Applications. Built on top of the Java EE platform, it hides its complexity while leveraging its advantages to a maximum extend.

Applications developed with UltraCore™ can be accessed not only via all modern Web Browsers but also via fixed-line telephones, mobile phones and other mobile devices like PDAs, smartphones, etc.

The first major milestone release was released in January 2007, with further milestone releases in March 2007, January 2008 and December 2008. The current version is 2.5.0.

UltraCore™ brings to web development superior modularity in all three tiers. By featuring the unique concepts of Session Syncing, Remote Application Execution, Page Chaining/Return Points and UI Proxy, UltraCore™ removes the obstacles of code reusability found in almost any other platform/framework currently available on the market (c.f. background articles Modularity at the presentation layer and Modularity - the obstacles).

Furthermore, UltraCore™ follows a pragmatic Model Driven Architecture (MDA) approach that guarantees the agility of the software development process: While classic MDA defines system functionality by using a Platform Indepenent Model (PIM) that is written in a Domain-Specific Language, UltraCore™ moves the PIM to the source code level, featuring in this way the unique concepts of “no automatic code generation” and “platform independency of source code”. Find out more ...

Apart from these benefits, UltraCore™ provides a large list of further features that optimize web development like no other platform/framework currently available on the market.

Why UltraCore™?

There are currently many web development platforms/frameworks available in market. Widely accepted platforms are Java EE, PHP and .NET; widely accepted frameworks are Spring, Ruby on Rails, Seam, Symfony and Wicket.

Choosing a platform/framework is one of the major decisions you make as a web developer/IT manager, and will influence a lot of your development choices.

You have limited budget and timeline? You need to hit production yesterday? Or do you simply want to create better web applications designed for the future in an optimal way?

We want to explain why UltraCore™ is the optimal choice you can make in all these cases.
Image
Using one of the platforms Java EE or PHP in a "pure" form (i.e. without combining them with any framework or library) is not a real option for web developers, since these platforms provide strongly technology-oriented but not application-oriented APIs.

Pure Java EE provides for example the technologies Java Database Java Database Connectivity (JDBC) for the Data tier, Enterprise Java Beans (EJB) Component Model for the Logic tier and Servlets combined with Java Server Pages (JSP) for the Presentation tier.

The web developer who decides to work with pure Java EE is therefore strained not only to learn all the "bolts and nuts" of these extremely complicated techniques, but also to develop at the level of database connections, SQL queries (by keeping control over transaction commits and rollbacks), plain Java code (within non-intuitive EJB and Servlet source code outlines), as well as plain html with Javascript.

This is a totally unsatisfactory situation for the developent of demanding web applications: The APIs mentioned so far are far too low-level in order to properly support even the elementary features of a modern web application (i.e. data validation, functional and data security, wizard-like processing, notifications, alarming, logging, batch processing, etc.).

The situation is similar also for PHP, with the additional drawback, that web applications written in PHP do not provide unlimited scalability and clustering capabilities, features that are inevitable for future-oriented applications.

Furthermore, PHP is a hybrid procedural and object oriented programming language with legacy problems: a lot of procedural code parts, that are confusing or even lead to security leaks, cannot be removed due to backwards compatibility.
Image
Image
Image
Image
Image

The UltraCore realtime engine supports pushing realtime events to the browser. The technology behind the realtime implementation uses a dedicated connection between the...

UltraCore is a unique end-to-end platform for the development of multi-tiered Business Web Applications that has been developed by ULTRA4 on the basis Normal 0 false fa...

UltraCore has based itself on a new form of Model Driven Architecture. This aims to provide a domain constraint model at the code level.

Sign up on our Newsletter

Contact Us

ULTRA4 - Advanced Information Systems
K. Tzerras - J. van Slooten Partnership

Telephone

+30 2310 688087

Address

Akadimou 115
56224 Thessaloniki, Greece

Email

info@ultra4.eu

Find Us

© 2024 Ultra4.eu. All Rights Reserved. Developed & Designed by ULTRA4 Advanced Information Systems

Main Menu

Business Web Apps made easy

We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.
View GDPR Privacy Policy docs ]