440 likes | 570 Views
Übersicht BEA Produkte XML - Überblick und Rolle. Übersicht BEA Produkte. Referenzarchitektur mit J2EE Komponenten. Blaue Schrift in gestreiften Boxen kennzeichnen Komponenten der J2EE Definition. HTTP. LAN. Portal Server. Verzeichnis Services. JNDI. JSP Servlet. Geschäfts Partner.
E N D
Referenzarchitektur mit J2EE Komponenten Blaue Schrift in gestreiften Boxen kennzeichnen Komponenten der J2EE Definition HTTP LAN Portal Server Verzeichnis Services JNDI JSP Servlet Geschäfts Partner JAAS JMS - JavaMail Content Management Prozess-Management JTA Enterprise JavaBeans JAXP ERP Systeme JCA WebServices JDBC API Alt-Anwend. Datenbanken Datenbanken
BEA Statistik • 1995 gegründet • Führender Hersteller von e-Commerce-Infrastrukturlösungen • Heute • Umsatz • Letztes Geschäftsjahr: $ 820 Mio • Letztes Quartal: $ 268 Mio • kürzeste Zeitspanne in der US Börsengeschichte für das Erreichen der 1 Mrd $ Umsatzmarke • Ca. 3700 Mitarbeiter • 11.000 Kunden • Partnerschaften mit führenden Unternehmen • z.B. auch Softlab
BEA Produkte • WebLogic Server - die Plattform • J2EE Server • Fundament der BEA Produkt-Suite • WebLogic Integration - die Integrationsplattform für • Anwendungsintegration • Business-Prozess-Management • B2B Integration • WebLogic Portal • Basis für Portal Lösungen
WebLogic Server • Application Server mit integriertem Web Server • Implementiert • Java Standards • J2EE • Internet Standards • XML-Dienste, WebServices • Integriert • Unternehmensdienste, wie LDAP
EJB Application Server Markt Source: Giga Group, December 2000. The EJB Applications Server Market
Application Integration Application Server • J2EE • Web Services • Clustering • Caching • Security • BEA WebLogic Server • Standards-based infrastructure (JCA) • Universal connectivity • Adapter Development Kit (ADK) • Design tools for creating and publishing application services • New B2B Integration Business Process Management • Integrate and automate complex business processes across value chain • Single platform for design, execution, and monitoring process • Assemble composite applications • Data integration • Formerly BEA WebLogic Process Integrator • Connect enterprises quickly and easily • Create and execute collaborative trading partner agreements (CPA) • Provide security • Deploy Business Web Services • Formerly BEA WebLogic Collaborate WebLogic Integration
WLI Business Process Management • Process Definition • Modellierung von Geschäftsprozessen • Graphischer Entwurf • Process Execution • Ausführung von Geschäftsprozessen • Eingebunden in J2EE Architektur • Process Monitoring • Monitoring von Geschäftsprozessen • Überwachung des Ablaufs
JMS Application API Worklist Client XML notification EJBs & Java classes RMI Standard E-Mail Client E-Mail AI Plug In Application Integration Plug-In B2B Plug In B2B Integration Client API Custom Plug In Custom Environment Template Store Template Definition Instance Store Process Flow Monitoring WLI Business Process Management Process Engine Plug In Framework
Customers Partners Employees Suppliers BEA WebLogic Portal FIREWALL BEA WebLogic Portal Custom Applications Third Party Applications BEA WebLogic Personalization Commerce Campaign Manager
Portlets Calendar Content Management To-do List Email
BEA WebLogic Portal: Portlets • Portlets • BEA Portlets • My/Group To-Do List, Search the Web, ... • Eigenentwicklungen • 3rd Party Anbieter • Charts, Web-email, ... • Implementiert als Java Server Pages
Customers Partners Employees Suppliers FIREWALL BEA WebLogic Portal Custom Applications Third Party Applications BEA WebLogic Personalization Commerce Campaign Manager Enterprise Applications ERP CRM BEA WebLogic Integration Business Application Integration Web SCM Custom Business Process Management Services B2B Integration HR Legacy BEA WebLogic Server Simple Web Transaction High Reliability/Availability Services Persistence Scalability State Management Security BEA Produkte im Überblick
Referenzarchitektur; Abdeckung durch BEA Produkte WL Server WL Portal Partner Produkte WL Integration HTTP LAN Portal Server Verzeichnis Services JNDI JSP Servlet Geschäfts Partner JAAS JMS - JavaMail Content Management Prozess-Management JTA Enterprise JavaBeans JAXP ERP Systeme JCA WebServices JDBC API Alt-Anwend. Datenbanken Datenbanken
Geschichte von XML • 1969: GML (General Markup Language): von IBM entwickelt • 1986: SGML (Standard GML): ISO • 1989: HTML (Hypertext Markup Language): CERN • Als Technologie des WWW • Von SGML abgeleitet • Eine Instanz von SGML • 1998: XML (Extensible Markup Language): W3C • In der Folge / im Umfeld von XML • Viele ergänzende Standards: XSL, Xlink, Xpointer, XML Schema, ... • XML Sprachen: XHTML, XMI, MathML, SOAP, ... • XML Verarbeitung: Parser, SAX, DOM • XML Produkte: eXelon, Tamino (SAG), ...
Spezielle Sprache HTML XHTML XMI SGML, XML, HTML SGML XML Vereinfachungen DTD DTD DTD ...
Historische Entwicklung Sprachfamilie Sprache XSL XHTML MathML 2000 XML 1998 HTML World Wide Web 1992 1986 SGML IBM: Charles Goldfarb Edward Mosher Raymond Lorie 1970 GML Internet
W3C Statement (1999, Ausschnitt) „XML will • Enable internationalized media-independent electronic publishing • Allow industries to define platform-independent protocols for the exchange of data, especially the data of electronic commerce • Deliver information to user agents in a form that allows automatic processing after receipt • Make it easy for people to process data usinginexpensive software • Allow people to display information the way they want it • Providemetadata -- data about information -- that will help people find information and help information producers and consumers find each other“
Autor Tolkien Band Name: "Band II“ Titel: "Die zwei Türme“ Band Name: "Band I“ Titel: "Die Gefährten“ Einführung Abschnitt Abschnitt Kapitel Titel: "xxxx" XML Dokument „Buch“– dargestellt als Baum Buch Titel: "Der Herr der Ringe“ Element Inhalt Attribut Kapitel Titel: "xxxx" . . . Unterelemente von Kapitel . . . . . .
XML Dokument „Buch“ <?xml version="1.0" encoding="ISO-8859-1"?> <Buch Titel="Der Herr der Ringe"> <Autor> Tolkien </Autor> <Band Name="Band I" Titel="Die Gefährten"> <Einführung> xxxxxxxxx </Einführung> <Kapitel Titel="xxxx"> <Abschnitt> xxxxxxxxx </Abschnitt> ... <Abschnitt> xxxxxxxxx </Abschnitt> </Kapitel> ... <Kapitel Titel="xxxx"> <Abschnitt> xxxxxxxxx </Abschnitt> ... <Abschnitt> xxxxxxxxx </Abschnitt> </Kapitel> </Band> <Band Name="Band II" Titel="Die zwei Türme"> ... </Band> <Band Name="Band III" Titel="Die Rückkehr des Königs"> ... </Band> </Buch> Verarbeitungs- Anweisungen
DTD – Document Type Definition <?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Jetzt kommt die DTD --> <!DOCTYPE Buch [ <!ELEMENT Buch (Autor Band*)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Band (Einführung Kapitel*)> <!ELEMENT Einführung (#PCDATA)> <!ELEMENT Kapitel (Abschnitt*)> <!ELEMENT Abschnitt (#PCDATA)> <!ATTLIST Buch Titel CDATA #REQUIRED> <!ATTLIST Band Name CDATA #REQUIRED Titel CDATA #REQUIRED> <!ATTLIST Kapitel Titel CDATA #REQUIRED> ]> <!-- Ende der DTD --> <Buch Titel="Der Herr der Ringe"> <Autor>Tolkien</Autor> <Band Name="Band I" Titel="Die Gefährten"> ... </Band> ... </Buch>
Externe und gemischte DTD <?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Externe DTD --> <!DOCTYPE Buch SYSTEM "buch.dtd"> <Buch Titel="Der Herr der Ringe"> <Autor>Tolkien</Autor> <Band Name="Band I" Titel="Die Gefährten"> ... </Band> ... </Buch> Name des Wurzelelements <!DOCTYPE MyDTD SYSTEM ".../dtd/MyBook.dtd" [ <!ELEMENT ... > <!ATTLIST ... > <!ENTITY ... > <!NOTATION ... > ]> Externe DTD Interne DTD
Wohlgeformt und Gültig Ein Dokument ist • Wohlgeformt • Wenn es den Syntaxregeln von XML folgt • Gültig • Wenn es eine DTD enthält (intern oder extern) und den Regeln der DTD gehorcht
XML Schema • DTD haben Nachteile • Separate Syntax • Muss separat gelernt werden • Wichtiger: Separate Tools (Parser, Generatoren) • Ausdrucksmittel fehlen • Z.B. Name spaces • Idee: XML zur Deklaration der Dokumenttypen benutzen:XML Schema • Struktur eines XML Dokumentes wird durch ein anderes XML Dokument beschrieben
XML Schema - Beispiel <?xml version = "1.0" encoding = "UTF-8"?> <xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" > <xsd:element name = "vehicles"> <xsd:complexType> <xsd:sequence> <xsd:element name = "nickname" type = "xsd:string" maxOccurs = "unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> Quelle: http://lucas.ucs.ed.ac.uk/xml-schema/
XML – Dokument; Daten aus Datenbank Element stammbaum <?xml version="1.0"?> <stammbaum> <person name=“Anna“ id="0815"> </person> <person name="Hugo" id="333"> <vater idref="4711"> <mutter idref="0815"> </person> <person name="Hans" id="4711"> </person> </stammbaum> Element person person person Attr name Anna name Hugo name Hans Attr id 0815 id 333 id 4711 vater mutter idref 0815 idref 4711
Nutzungsszenarien von XML • Publizierung im Web • XHTML • Nachfolge HTML • Dokumentenmanagement und -austausch • Basis für vielfältige Standards • Vereinheitlichung von Werkzeugen • Datenaustausch, Messaging & Queuing • Basis für Middleware Produkte • Basis für WebServices XML Dokumente Instanz 1 Instanz 2
XML Sprachen • XHTML (HTML based on XML) • WML (Web language for WAP mobiles) • MathML (Math formula definition) • SMIL (Synchronized Multimedia Integration Language) • SVG (Scalable Vector Graphics) • XSL (XML Style Language) • XSLT (XML based Transformation language) • XQL (Database Query Language) • XMI (XML based Metadata Interchange format) • SOAP (Simple Object Access Protocol) • WSDL (Web Service Definition Language) • UDDI (Universal Description, Discovery and Integration) • ebXML (electronic business XML)
Präsentation von XML Dokumenten • Ein reines XML Dokument ist nicht direkt zur Präsentation geeignet • Formatierungsinformationen sind notwendig • Style Sheet Sprache ist gefordert • Style Sheet: Regeln, die festlegen, wie spezielle Elemente eines Dokumentes dargestellt werden sollen • Cascading Style Sheets (CSS) benutzt für HTML • eXtensible Stylesheet Language (XSL) • XML basiert • Vielfältige Ausdrucksmittel • einfach
eXtensible Stylesheet Language • Drei Standards spielen eine Rolle: XSLT, XPATH, Bibliothek von Format-Objekten (XSL-FO) • XML Document: Text und inhaltsorientierte Struktur • XSL Document: Text und Format Informationen • Transformationssprache (XSLT/XPATH) für die Transformation von XML Dokumenten zu XSL Dokumenten oder andere Formate • XSL Werkzeuge werden benutzt, um aus Dokumenten lesbare Ausgaben zu erzeugen (Bildschirm, Drucker, ...)
eXtensible Stylesheet Language XML Documents XSL Processor XSL Presentation oriented Web Browser (X)HTML XSLT Processor XML Content oriented XML Source
XSLT Transformation to (X)HTML <?xml version="1.0"?> <text> <emphasize>Hello World</emphasize> </text> XML Source <?xml version="1.0"?> <template match ="emphasize"> <u> <apply-templates/> </u> </template> XSLT Processor XSLT Script <?xml version="1.0"?> <html> <body> <u>Hello World</u> </body> </html> XHTML Document
XSLT Transformation to XSL <?xml version="1.0"?> <text> <emphasize>Hello World</emphasize> </text> XML Source <?xml version="1.0"?> <template match ="emphasize"> <fo:wrapper font-weight="bold"> <apply-templates/> </fo:wrapper> </template> XSLT Processor XSLT Script <?xml version="1.0"?> <fo:block> <fo:wrapper font-weigh="bold"> Hello World </fo:wrapper> </fo:block> XSL Document
XML Ergänzungen • XLink: Referenzen zwischen XML Dokumenten • XPath: Referiert ein Element in einem Dokument durch Pfad • XPointer: Referiert ein Element durch flexiblere Auswahl; basiert auf XPath. • DOM (Document Object Model): W3C Standard • API zum Bearbeiten von XML Dokumenten • Dabei: XML Dokument als Graph betrachtet mit primärer Baumstruktur • Definiert in CORBA IDL; somit sprachunabhängig • Java ist wichtigste Sprache • SAX (Simple API for XML) • Kein W3C Standard • Alternative zu DOM • Event gesteuert, meist in Zusammenhang mit Parsern
XPointer XPointer, which is based on the XML Path Language (XPath), supports addressing into the internal structures of XML documents. It allows for traversals of a document tree and choice of its internal parts based on various properties, such as element types, attribute values, character content, and relative position.
XLink - XML Linking Language • Erlaubt Links zwischen Ressourcen (XML Strukturen) • Einfache Links: Wie Hyperlinks (z.B. in HTML) • Basiert auf XPointer • Komplexere Links • Zwischen mehr als zwei Ressourcen • Können unabhängig von Ressourcen existieren • Metadaten (Attribute) können den Links beigefügt werden
W3C Activity Statement zu DOM W3C's Document Object Model (DOM) is a standard API (Application Programming Interface) to the structure of documents; It aims to make it easy for programmers to access components and to delete, add, or edit their content, attributes and style. In essence, the DOM makes it possible for programmers to write applications which work properly on all browsers and servers and on all platforms. While programmers may need to use different programming languages, they do not need to change their programming model. W3C's Document Object Model thus offers programmers a platform- and language-neutral program interface which will make programming reliably across platforms with languages such as Java and ECMAScript a reality.
Beispiel: DOM Interface für Enabler von Softlab XML Anwendung DOM API Enabler Java API Enabler Repository XML Parser XML Dokument
XML Umfeld • Reihe von Initiativen für den Austausch von Finanzdaten • Beispiel OFX (Open Financial Exchange) • Ähnliche Initiativen in anderen Branchen • XMI (XML Metadata Interchange): OMG • Sprache zum Austausch von Modellen in UML • Standards für Web Services • SOAP (Simple Open Access Protocol) • WSDL (Web Service Definition Language) • UDDI (Universal Description, Discovery and Integration) • ebXML (electronic business XML)
Werkzeug -2 Werkzeug Anwend. Modell Anwend. Modell Anwendung von XMI UML Repository UML Meta Modell 1 UML Modellierungswerkzeug z.B. Rational Rose Anwend. Modell 1 1 XMI Dokument Anwendungs Repository / Datenbank 2 Anwendungs- Modell Modell wird in ein Repository oder ein anderes Werkzeug zur weiteren Bearbeitung übertragen. 1 Anwendungs- Daten Modell wird in ein Anwendungs-Datenbank-Schema übertragen. Hierzu ist häufig eine Transformation notwendig. 2
Benutzung von XML im Web-Umfeld • (X)HTML ist XML Sprache: Basis des Web • Künftig Verarbeitung von XML direkt in Browsern (ohne Transformation in HTML) • XML als Sprache für Content Management • Document Management • EDI (Electronic Data Interchange) • Metadaten (UML Modell) - Austausch (XMI) • Messaging • WebServices • SOAP • WSDL • UDDI • ebXML