database

ObjectDB (JPA-compliant pure object database for Java)

Webel now employs ObjectDB - a JPA-compliant pure-object database - as the primary database technology for Enterprise Java web application development:

For demonstrations and examples, please visit the tutorial presentations and demonstration videos of the GreenDesk web application for modelling and environmental compliance tracking of office buildings, developed by Webel for GreenSoft Pty Ltd, Australia.

Java Persistence API (JPA)

Webel employs the Java Persistence API (JPA) as the core database technology for Enterprise Java web application development in combination with JPA-compliant object-relational database mapping technologies (EclipseLink and Hibernate) for relational database management systems (MySQL, Oracle DB), as well as in combination with the JPA-compliant pure-object database ObjectDB. Core JavaServer Faces (JSF) and the PrimeFaces 3rd-party JSF GUI toolkit are used to create rich interactive web worksheets for Enterprise Java web applications from data and objects served via JPA and managed via Enterprise Java Beans employing Expert System strategies:

For demonstrations and examples, please visit the tutorial presentations and demonstration videos of the GreenDesk web application for modelling and environmental compliance tracking of office buildings, developed by Webel for GreenSoft.

Java EE Technologies Used in the EIS Tier.

Java EE Technologies Used in the EIS Tier.

The source text of Your First Cup: An Introduction to the Java EE Platform does not yet expand on these technologies, so we provide this diagram as a navigation point, then move on ..

These resources typically are located on a separate machine than the Java EE server, and are accessed by components on the business tier

These resources typically are located on a separate machine than the Java EE server, and are accessed by components on the business tier
IMPORTANT: in UML™ Parsing Analysis one sometimes has to explore a confused or unclear description in the source text, even if it leads in the wrong direction for a while; the whole point is to analyse each sentence of the source text on its own merits.

If only I had a penny for every time somebody new to the method looked at a diagram which correctly (according to the spirit of UML™ Parsing Analysis) models a somewhat confusing source text sentence, only to be told be somebody that "that's wrong"; it's right in UML™ Parsing Analysis to model what's "wrong" first, with annotations indicating possible problems, consistencies, or errors.

None of the source text sentences from the First Cup tutorial analysed yet in this demonstration of UML™ Parsing Analysis have actually stated to date whether a 'tier' is something physical (associated with perhaps a separate machine), or whether it is an architectural "layer", which may or may not be spread across several machines. It has also not been stated whether the 'business tier' is characterised by a Java EE Server, or whether indeed a single Java EE server can manage more than one tier, including the 'business tier' ! Or could in fact a Java EE Server include somehow the 'web tier' ? After all, no mention has been made yet of a separate web server, or even how the 'web tier' might relate to it. So these matters are left - most deliberately - completely open, with question stereotypes inviting later clarification, which MUST be provided by the First Cup source text (or another authoritative source text, which would be clearly indicated through dedicated, stereotyped, source text «wrapper» Components).

Consider for example the source text sentence at hand. It does not in fact say whether 'components on the business tier' are in someway also on or running in 'the Java EE server', or in fact whether (as nevertheless assumed and shown) the Java EE server ever even accesses a data store or data source !

Lastly, we have not even been told whether the 'business tier' and Java EE Server are related at all (although we can guess they are).

To represent this complex state of affairs, hybrid associative and composite diagramming is used, and I would ask readers to spend a little extra time examining this important diagram in detail.

Note in particular that both *Tier_Business and *Server have a shared *:Component_Business Property, and the meaning of this sharing could by quite different for the different contexts. Likewise, the Connectors used might cross in fact many other implied Property boundaries.

For example: if *Tier_Business is in fact "part" of a Java EE *Server, then a delegating Connector from a boundary Port of the Server to a Port of *:Component_Business might logically or conceptually "cross" the business tier boundary (and this could be represented by finer delegation via it's Port); if instead the *Tier_Business is considered to be outside the JavaEE *Server (or perhaps even characterised by it), then similar will apply to its Connectors to its (shared) *:Component_Business Property.

This kind of situation arises again and again when analysing technical source documents, because natural language is far less precise than the UML™. When in doubt, share !

By simply following through the UML™ Parsing Analysis process, sentence by sentence, these matters will simply "come out in the wash". However that can only happen if one resists the temptation to inject too many of one's own assumptions in advance, without reference to the source text, even if it means going a wild goose chase for a little while.

The enterprise information systems (EIS) tier consists of database servers, enterprise resource planning systems, and other legacy data sources, like mainframes

The enterprise information systems (EIS) tier consists of database servers, enterprise resource planning systems, and other legacy data sources, like mainframes

We are told that all the '(EIS) tier .. consists of .. data sources'.

It might be tempting to allow *Datastore to provide an Interface for getting (or loading) data, however this does not meet the case where the data source is readonly; for the sake of illustration I've decided the *Mainframe analysis component will only be read, imagining we are only migrating from it, never storing new data into it.

A better solution is to inherit from an abstract *Datasource, which provides a *Get Interface via a Port, which also appears now on the *Tier_Data (a.k.a. 'EIS tier'), since it integrates all data sources and data stores (and will delegate to/from them as needed).

IMPORTANT: there is no end to the number of convenient analysis Interfaces we may include under port-based engineering, and they may freely overlap; for example, if a database supports SQL queries (which may be used to store and/or load data), there is no reason why we can't also have a *Query Interface as well. This opportunity for non-exclusive redundancy is a very powerful aspect of port-based service-orientation.

The Enterprise Information Systems Tier

The Enterprise Information Systems Tier

Just a navigation point for the data tier analysis.

Database Engineering reference

This content area is UNDER CONSTRUCTION or MIGRATION

A Webel reference zone on database technologies.

PHP zone

A Webel zone with some PHP resources and tips:

If you have never used PHP before and you already know some Java™, C, C++ or Perl (and some HTML and CSS) then give PHP a go, it's easy. It also has some powerful object-oriented and reflection capabilities, as well as the ability to manipulate function variables. If you just want to interact directly with an SQL database (and especially with MySQL through PHP MySQL) and wish to develop a simple interactive web application then PHP is a good choice.

There is also now an Object-Relational Mapping (ORM) framework for PHP called Propel, which is used by the Symfony web application framework, as well as a framework of emulations and implementations of popular idioms from other languages called Stubbles (which you SHOULD visit before reinventing the PHP wheel). And check out also the Cake PHP rapid development web application framework.

Did you know ?

'PHP stands for PHP: Hypertext Preprocessor. This confuses many people because the first word of the acronym is the acronym.'

This Drupal™-driven site uses PHP behind the scenes !

Tangram (Perl) OR-mapper

The content or the technology discussed here is HISTORICAL or ARCHIVAL
Syndicate content
randomness