Async EJB calls, Java Persistence API and XML. Carl Nettelblad

Size: px
Start display at page:

Download "Async EJB calls, Java Persistence API and XML. Carl Nettelblad"

Transcription

1 Async EJB calls, Java Persistence API and XML Carl Nettelblad

2 Outline Asynchronous EJB calls Java Persistence API XML

3 Map realm roles to application roles Enable check box in Security configuration: Default Principal To Role Mapping (in Glassfish Admin console The admin console is one of those things you should disable fully in a production environment Or protect This options makes Glassfish group names map to security roles Otherwise you can specify a mapping yourself in the separate glassfish-web.xml

4 Databases Relational (SQL) databases Give persistence in a reliable and consistent way (transactionality) Different providers, accessed using JDBC drivers The need for connection pools for good performance Use parametrized queries in prepared statements For performance For avoiding SQL injection

5 Possible SQL injection String query = "INSERT INTO PERSON" + "(pnr, firstname, lastname, sex, age)" + "VALUES (1,'" + firstname + "','Svensson', 35)"; int rows = stmt.executeupdate(query);

6 Example, prepared statements PreparedStatement pstmt; pstmt = connection.preparestatement( "INSERT INTO PERSON (pnr,firstname,lastname,age) VALUES (?,?,?,?)"); pstmt.setint(1, 1); pstmt.setstring(2, "Nisse"); pstmt.setstring(3, "Nilsson"); pstmt.setint(4, 37); int x = pstmt.executeupdate();

7 tag for data tag for EJBs Simply annotate the servlet variables (private is OK) Only works for managed objects Objects created by the container, not by you

8 Transactions Making sure that it would seem like all operations occur in some specific order, not overlapping Serializability Not the same thing as seralization of objects This means that locks might need to be held even on data that was only read from tables, if you later write to another table Can cause low performance Deadlocks Think about what you read and where you put your transaction boundaries

9 Enterprise Java Beans Message beans Session beans Stateful State can be kept between different method calls from the same client Stateless No state between method calls Singleton Global instance

10 Interfaces Remote interface Parameters serialized Basically everything passed by value Lower performance Can be used in a distributed setting Local interface Only used within a single JVM instance Higher performance Pass by value or pass by reference as usual

11 A bit of history Old-style EJBs have fake interfaces mapped to bean class These days, declare the interfaces, tag them Inherit from them and tag your session bean

12 Additional annotation on Controls how the method or EJB participates in transactions Sometimes you want to opt out or have a separate transaction Declarative

13 Asynchronous EJB methods Imagine you want to get information on 100 users Request sent to a US server through an EJB 100 ms roundtrip at the very best ArrayList<User> users = new ArrayList(); for (String username : userlist) { } users.add(ourbean.getuser(username)); This will take ten seconds Not really needed The US server and your web server can both do much better

14 What to do? Move the US server here Change the API Send the full list of users Excellent idea, not always possible Concurrency Make many simultaneous requests Creating threads manually can be hard

15 The Java Future Standard interface for representing a value that does not necessarily exist yet in Java Used in Java concurrency API Methods cancel, get, iscancelled, isdone get will wait until the value is really available Exceptions can be passed at get time (wrapped in ExecutionException)

16 Asynchronous EJB methods Tag your method Change the return type from e.g. User to Future<User> Write normal, synchronous implementation Just change the return line from e.g. return usertoreturn; to Return new AsyncResult<User>(userToReturn);

17 What would the client look like? ArrayList<Future<User>> futures = new ArrayList(); for (String username : userlist) { futures.add(ourbean.getuserasync(username)); } ArrayList<User> users = new ArrayList(); for (Future<User> future : futures) { users.add(future.get()); }

18 What s the difference? We give the EJB a change to start processing all the requests we know that we will make Then, we start looking at the results Hiding latency The EJB asynchronous calls keep transactions and all other nice aspects of the container The only thing you need to do is to separate the call and get return value part in your client Futures very powerful general concept for concurrency and throughput

19 Object-relational mapping and JPA The object-oriented world and the relational world are similar, yet different Objects are separate entities Inheritance, references to other objects in many ways Easy to represent trees and other graphs Relational databases are based on tables All rows have the same structure Closely tied to the table Fixed relations between tables (Graphs through self-relations)

20 Objects and tables Different data types Quite common to create a Java Bean/ value object to represent the content of a table row Risk of writing lots of braindead CRUD code CReate Update Delete Separate methods for each bean class, mapping to each table High risk of manual errors

21 Another way What if we could say which fields in a class map to which columns in a table? And how references to other classes map to database relations Even create the database schema from our classes This is the foundation of object-relational mapping Java Persistence API is one way to do it

22 Two views on JPA Convenient way to model the database structure as Java classes Using Java as a tool to interact with the database Convenient way to persist Java objects permanently and with transaction safety Using the database as a tool for our application

23 Components in JPA An API A query language Metadata for the object/relational mapping Contains a service provider interface Different databases or other resources can provide this interface Your code can easily move Not necessarily easy to move existing data

24 Components in JPA Persistence providers Default provider in Java EE 6 Other providers do exist

25 How to map classes to tables? Same old story Annotations vs. XML One or the other Do you want to map the same Java classes to different database schemas? Go for XML Is the mapping fixed? Go for annotations

26 A POJO Java bean public class BankAccount { private String accountid; private String ownername; private double balance;... } The account ID is the primary key We want to store this data in our database

27 JPA entities Entities are the persistent data objects in our application Can be simply fields of primitive types Can be more complex Each entity has a well-defined identity, key that can be used to retrieve it (primary key in DB) Their state is exposed They are not remote-accessible Entities are supposed to live on beyond shutdown of the application

28 Example import java.io.serializable; import javax.persistence.entity; import public class Account implements Serializable { /** The account number is the primary key for the persistent object public int accountnumber; public String ownername; public int balance; /** * Entities must have a public no-arg constructor */ public Account() { // auto-generation accountnumber = (int) System.nanoTime(); }

29 Example public void deposit(int amont) { } balance += amount, } public int withdraw(int amount) { if (amount > balance) { return 0; else { balance -= amount; return amount; }

30 (Some) additional features If field names map to column names and class names map to table names, nothing else is if column name doesn t match field name Additional attributes to control mapping for fields that should not be created based on Annotating references to other objects and collections of for handling separate tables carrying relationship information (needed for many-to-many)

31 Schema generation Configuration will determine whether schema is autocreated Property javax.persistence.schema-generation.database.action with values none, create, drop-and-create, drop Dropping means removing everything Good for testing from a blank slate Dangerous anywhere close to production data

32 persistence.xml Configuration for the JPA services <?xml version="1.0" encoding="utf-8"?> <persistence xmlns=" <persistence-unit name="unit1"> <jta-data-source>mydb</jta-data-source> <non-jta-data-source>mydb-nontrans</jta-data-source> <properties> <property name="eclipselink.target-database" </properties> </persistence-unit> </persistence> value="javadb"/>

33 Explanation The data source With transaction management Without transaction management Specify SQL dialect Derby in this case

34 Entity manager Entry point for managing persistence Interaction with data source, transactions

35 Example methods Query for objects (find/query) Query on ID or query using EB-QL Update object based on state of constructed object New object persist Existing objects merge detach managed entities to become regular objects remove entities (from persistence) refresh entity based on current database state (as seen within transaction)

36 Stateless EJB example package examples.entity.intro; import java.util.list; import javax.ejb.stateless; import javax.ejb.remote; import javax.persistence.*; /** * Stateless session bean facade for account entities, * remotely public class BankBean implements Bank { /** * The entity manager object, injected by the container private EntityManager manager; public List<Account> listaccounts() { Query query = manager.createquery("select a FROM Account a"); return query.getresultlist(); }

37 Stateless EJB example public Account openaccount(string ownername) { Account account = new Account(); account.ownername = ownername; manager.persist(account); return account; } public int getbalance(int accountnumber) { Account account = manager.find( Account.class, accountnumber); } return account.balance; public void deposit(int accountnumber, int amount) { Account account = manager.find(account.class, accountnumber); account.deposit(amount); } } }

38 Stateless EJB example public int withdraw(int accountnumber, int amount) { Account account = manager.find(account.class, accountnumber); return account.withdraw(amount); } } public void close(int accountnumber) { Account account = manager.find(account.class, accountnumber); manager.remove(account); }

39 Conclusion JPA allows you to write code almost like you were just using Java objects Code focusing on intent You still need to have a design that maps to database concepts The Java EE framework will handle many aspects You can still run into unexpected failed transactions due to e.g. locking There are several implementations of JPA One is the Java ORM library Hibernate (which predates the JPA standard)

40 XML Hypertext Markup Language HTML is based on Standard Generalized Markup Language Standardized in the 1980s Very general language Angle-bracket tags just one concrete syntax of SGML Structure of markup languages can be defined using a document type declaration grammar

41 Flaws of SGML Way too general Hard to parse Tags allowed to be non-closed Grammar used actively, many things that could be deduced could therefore be omitted In all: A good way to allow many structured languages to be modeled in a standardized way Very hard to handle the standard

42 Enter HTML HTML is one specific SGML application Didn t use many of the features In fact, web browsers didn t support them Maybe we should make a better HTML, or a simpler SGML? Extensible markup language is born

43 Nature of XML Native UNICODE Semantics and syntax in UNICODE, many practical encodings possible Carried over from HTML/SGML Tags (elements) and attributes Text and/or other tags within tags Comments Whitespace non-significant Tags are case-sensitive Always end tags, so self-ending tags

44 CDATA Angle brackets and other special characters can be escaped, using entities < for <, > for > etc If we have a lot of binary data, we can instead use CDATA <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> Any data except for the characters ]]> can be used

45 Well-formed documents XML makes a distinction between processors and applications Most applications using XML are supposed to use a pre-existing processor (parser) to read the language A well-formed XML document should be OK to any processor Might not make sense to the application Follows the syntax rules Well-defined tree structure of elements Only a single root element in that tree Etc

46 Schemas Well-formedness is a matter of syntax It doesn t tell you whether the document makes sense Ideally, a document should specify what it is This is realized through schemas Two purposes: The schema describes the exact syntax A validating processor can parse the document according to that syntax The name/identifier of the schema can be used by an application to handle the file correctly Including versioning

47 Schema-less XML file <?xml version="1.0"?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> (Example from w3schools web site, sometimes good short references, but sometimes a bit too inaccurate.)

48 DTD Document type definition Schema definition carried over from SGML Usually put in a separate file <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

49 With DTD reference <?xml version="1.0"?> <!DOCTYPE note SYSTEM " <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

50 <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend</body> </note> Inline DTD

51 !DOCTYPE PUBLIC <!DOCTYPE note SYSTEM " System means the schema is private We can also refer to standardized schemas using public DTD names If the processor knows about that name, it shouldn t fetch the actual DTD file from the specified location DTD names are on the form prefix//dtdowner//dtd-description//language Prefix can be ISO, + or ISO standard, approved other standard, unapproved other standard

52 HTML doctype HTML4 tried to be a good citizen DOCTYPEs like <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" " HTML5 simply says <!DOCTYPE html> Anything else is misleading, since HTML is not even trying to be valid SGML or XML anymore Hence no DTD for proper validation Browsers do care about the DOCTYPE

53 Why is it good to validate? The XML processor is supposed to be robust and tolerant to errors Tolerant as in not crash/behave unpredictably Difference to HTML attitude just accept anything Moving responsibility If the XML processor validates, your application does not have to check that every mandatory attribute or element does exist before reading it

54 Namespaces Different schemas and use cases might exist in the same document Two issues Point out uniquely what applications are referenced Bring this into the XML syntax Solution: Map namespaces to prefixes A prefix is the part coming before a colon in an element or attribute name

55 Namespace names Tend to be URLs Nothing is really found at those URLs, they are really just identifiers Arbitrary strings (without whitespace) The meaning is based on the meaning assumed by the using application Example: XHTML

56 Specifying prefixes A namespace is specified by assigning a prefix and then using that prefix The xmlns (XML namespace) prefix is predefined for this, xmlns:xhtml=" would mean the xhtml prefix is referring to the namespace Any element with the prefix is interpreted to be in that namespace Attributes are assumed to belong to their element But attribute namespace can also be specified Namespaces can be assigned on any element level

57 Default namespace Just specifying xmlns without a colon assigns the default namespace In a typical XML document, having this on the root element might be the only occurrence of xmlns in the full file Basically a type specification for the full file

58 W3C XML Schemas/XSD Beyond DTD, there are other ways to specify XML schemas One of the more common and well-supported are W3C XML Schemas, frequently stored in XSD files (XML Schema definitions) The schema usage is controlled by the specified namespaces in the file and extra attributes in the namespace

59 Note example again <?xml version="1.0"?> <note xmlns=" xmlns:xsi=" xsi:schemalocation=" note.xsd"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

60 schemalocation and nonamespaceschemalocation schemalocation is really a list of pairs: namespaces and the URIs to their schemas What if you want to map the default namespace? Just list its name What if you don t have a default namespace (a no namespace XML file)? Use the nonamespaceschemalocation attribute instead Only specifies a URI The corresponding schema must also actually be intended to be used without a namespace

61 XPath Find a subset of XML nodes using a path-like syntax <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE employee> <employee department="customer services"> <firstname> Eva </firstname> <lastname> Svensson </lastname> <age> 35 </age> </employee>

62 Navigate using XPath Refer to the Age element /employee/age Department attribute Additional conditions can be set, i.e. elements fulfilling customer service"]

63 XPath axes Default axis of child (next level) Axes can be specified explicitly child:: Other axes: ancestor/ancestor-or-self attribute child descendant/descendant-or-self (// for the node) following/following-sibling namespace parent (.. for the node) preceding/preceding-sibling self (. for the node)

64 XPath node tests Simply element names Can also be things like prefix:* for any element in a namespace or simply * for any element comment() text() XML nodes for text in tag bodies processing-instruction() - non-element tags such as <?xml node() any node

65 Predicates Additional constraint in brackets, boolean predicate Can also be an index to find a specific match (onebased) Normal operators +, -, *, div (for division), mod Comparison operators =,!=, <, >, <=, >= and, or, not() Union operator to match the union of two conditions Functions: contains, starts-with, concat, substring, normalize-space, count,

66 XML API in Java Streaming data: Simple API for XML org.xml.sax Event-driven, callbacks XML stream API javax.xml.stream Reading methods Reading full file: Document object model org.w3c.dom Object model Java XML Binding JAXB javax.xml.bind Mapping XML elements to Java objects

67 Document Object Model Read the full XML document Represent it as XML nodes Related to HTML DOM Parse tree HTML DOM models HTML logic as well Navigate through the tree getelementsbytagname getelementbyid Can be combined with XPath API

68 DOM example File fxmlfile = new File("D:/formdata.xml"); DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dbuilder = dbfactory.newdocumentbuilder(); Document doc = null; try { doc = dbuilder.parse(fxmlfile); } catch (SAXException e) { // TODO Auto-generated catch block e.printstacktrace(); } catch (IOException e) { } // TODO Auto-generated catch block e.printstacktrace(); doc.getdocumentelement().normalize(); System.out.println("Root element :" + doc.getdocumentelement().getnodename()); NodeList nlist = doc.getelementsbytagname("subelement"); // using XPath instead NodeList nlist2 = (NodeList) xpath.compile("/subelement").evaluate(doc.getdocumentelement(), XPathConstants.NODESET);

69 DOM, pros and cons Pro Navigate freely in the full structure Cons Very verbose syntax Explicitly look up attributes, elements, inner text as separate nodes and look at them Not the best performance

Introduction to Session beans. EJB - continued

Introduction to Session beans. EJB - continued Introduction to Session beans EJB - continued Local Interface /** * This is the HelloBean local interface. * * This interface is what local clients operate * on when they interact with EJB local objects.

More information

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable

More information

Java EE Architecture, Part Three. Java EE architecture, part three 1(69)

Java EE Architecture, Part Three. Java EE architecture, part three 1(69) Java EE Architecture, Part Three Java EE architecture, part three 1(69) Content Requirements on the Integration layer The Database Access Object, DAO Pattern Frameworks for the Integration layer Java EE

More information

Java EE Architecture, Part Three. Java EE architecture, part three 1(57)

Java EE Architecture, Part Three. Java EE architecture, part three 1(57) Java EE Architecture, Part Three Java EE architecture, part three 1(57) Content Requirements on the Integration layer The Database Access Object, DAO Pattern Frameworks for the Integration layer Java EE

More information

What is XML? XML is designed to transport and store data.

What is XML? XML is designed to transport and store data. What is XML? XML stands for extensible Markup Language. XML is designed to transport and store data. HTML was designed to display data. XML is a markup language much like HTML XML was designed to carry

More information

Object-Relational Mapping is NOT serialization! You can perform queries on each field!

Object-Relational Mapping is NOT serialization! You can perform queries on each field! ORM Object-Relational Mapping is NOT serialization! You can perform queries on each field! Using hibernate stand-alone http://www.hibernatetutorial.com/ Introduction to Entities The Sun Java Data Objects

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.

More information

Java EE 7: Back-end Server Application Development 4-2

Java EE 7: Back-end Server Application Development 4-2 Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data

More information

markup language carry data define your own tags self-descriptive W3C Recommendation

markup language carry data define your own tags self-descriptive W3C Recommendation XML intro What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML tags are not predefined. You must define

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 5 days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options.

More information

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML CSI 3140 WWW Structures, Techniques and Standards Representing Web Data: XML XML Example XML document: An XML document is one that follows certain syntax rules (most of which we followed for XHTML) Guy-Vincent

More information

Module 8 The Java Persistence API

Module 8 The Java Persistence API Module 8 The Java Persistence API Objectives Describe the role of the Java Persistence API (JPA) in a Java EE application Describe the basics of Object Relational Mapping Describe the elements and environment

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

Web Services Part I. XML Web Services. Instructor: Dr. Wei Ding Fall 2009

Web Services Part I. XML Web Services. Instructor: Dr. Wei Ding Fall 2009 Web Services Part I Instructor: Dr. Wei Ding Fall 2009 CS 437/637 Database-Backed Web Sites and Web Services 1 XML Web Services XML Web Services = Web Services A Web service is a different kind of Web

More information

JPA Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule

JPA Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule Berner Fachhochschule Technik und Informatik JPA Entities Course Multi Tier Business Applications with Java EE Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Content Characteristics of entities Programming

More information

Java Persistence API (JPA) Entities

Java Persistence API (JPA) Entities Java Persistence API (JPA) Entities JPA Entities JPA Entity is simple (POJO) Java class satisfying requirements of JavaBeans specification Setters and getters must conform to strict form Every entity must

More information

CO Java EE 7: Back-End Server Application Development

CO Java EE 7: Back-End Server Application Development CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional

More information

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration contents foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration xix xxxii PART 1 GETTING STARTED WITH ORM...1 1 2 Understanding object/relational

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Java EE 7: Back-End Server Application Development

Java EE 7: Back-End Server Application Development Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Java EE 7: Back-End Server Application Development Duration: 5 Days What you will learn The Java EE 7: Back-End Server Application

More information

EJB 3 Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule

EJB 3 Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule Berner Fachhochschule Technik und Informatik EJB 3 Entities Course Multi Tier Business Applications with Java EE Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Content Characteristics of entities Programming

More information

XML (Extensible Markup Language)

XML (Extensible Markup Language) Basics of XML: What is XML? XML (Extensible Markup Language) XML stands for Extensible Markup Language XML was designed to carry data, not to display data XML tags are not predefined. You must define your

More information

INTERNET PROGRAMMING XML

INTERNET PROGRAMMING XML INTERNET PROGRAMMING XML Software Engineering Branch / 4 th Class Computer Engineering Department University of Technology OUTLINES XML Basic XML Advanced 2 HTML & CSS & JAVASCRIPT & XML DOCUMENTS HTML

More information

Fast Track to EJB 3.0 and the JPA Using JBoss

Fast Track to EJB 3.0 and the JPA Using JBoss Fast Track to EJB 3.0 and the JPA Using JBoss The Enterprise JavaBeans 3.0 specification is a deep overhaul of the EJB specification that is intended to improve the EJB architecture by reducing its complexity

More information

XPath Basics. Mikael Fernandus Simalango

XPath Basics. Mikael Fernandus Simalango XPath Basics Mikael Fernandus Simalango Agenda XML Overview XPath Basics XPath Sample Project XML Overview extensible Markup Language Constituted by elements identified by tags and attributes within Elements

More information

Java EE Architecture, Part Three. Java EE architecture, part three 1(24)

Java EE Architecture, Part Three. Java EE architecture, part three 1(24) Java EE Architecture, Part Three Java EE architecture, part three 1(24) Content Requirements on the Integration layer The Database Access Object, DAO Pattern JPA Performance Issues Java EE architecture,

More information

XML extensible Markup Language

XML extensible Markup Language extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object

More information

Software Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1

Software Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1 extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

Introduction to XML. An Example XML Document. The following is a very simple XML document.

Introduction to XML. An Example XML Document. The following is a very simple XML document. Introduction to XML Extensible Markup Language (XML) was standardized in 1998 after 2 years of work. However, it developed out of SGML (Standard Generalized Markup Language), a product of the 1970s and

More information

XML. Presented by : Guerreiro João Thanh Truong Cong

XML. Presented by : Guerreiro João Thanh Truong Cong XML Presented by : Guerreiro João Thanh Truong Cong XML : Definitions XML = Extensible Markup Language. Other Markup Language : HTML. XML HTML XML describes a Markup Language. XML is a Meta-Language. Users

More information

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Java- EE Web Application Development with Enterprise JavaBeans and Web Services Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven

More information

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Object-Oriented Programming (OOP) concepts Introduction Abstraction Encapsulation Inheritance Polymorphism Getting started with

More information

Java EE Architecture, Part Two. Java EE architecture, part two 1

Java EE Architecture, Part Two. Java EE architecture, part two 1 Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,

More information

Pro JPA 2. Mastering the Java Persistence API. Apress* Mike Keith and Merrick Schnicariol

Pro JPA 2. Mastering the Java Persistence API. Apress* Mike Keith and Merrick Schnicariol Pro JPA 2 Mastering the Java Persistence API Mike Keith and Merrick Schnicariol Apress* Gootents at a Glance g V Contents... ; v Foreword _ ^ Afooyt the Author XXj About the Technical Reviewer.. *....

More information

XML: Extensible Markup Language

XML: Extensible Markup Language XML: Extensible Markup Language CSC 375, Fall 2015 XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both. Matthew Might Slides slightly modified

More information

JPA and CDI JPA and EJB

JPA and CDI JPA and EJB JPA and CDI JPA and EJB Concepts: Connection Pool, Data Source, Persistence Unit Connection pool DB connection store: making a new connection is expensive, therefor some number of connections are being

More information

Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa

Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa NPFL092 Technology for Natural Language Processing Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa November 28, 2018 Charles Univeristy in Prague Faculty of Mathematics and Physics Institute of Formal

More information

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML is a markup language,

More information

XML. Technical Talk. by Svetlana Slavova. CMPT 842, Feb

XML. Technical Talk. by Svetlana Slavova. CMPT 842, Feb XML Technical Talk by Svetlana Slavova 1 Outline Introduction to XML XML vs. Serialization Curious facts, advantages & weaknesses XML syntax Parsing XML Example References 2 Introduction to XML (I) XML

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML Chapter 7 XML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML

More information

EMERGING TECHNOLOGIES. XML Documents and Schemas for XML documents

EMERGING TECHNOLOGIES. XML Documents and Schemas for XML documents EMERGING TECHNOLOGIES XML Documents and Schemas for XML documents Outline 1. Introduction 2. Structure of XML data 3. XML Document Schema 3.1. Document Type Definition (DTD) 3.2. XMLSchema 4. Data Model

More information

XML Structures. Web Programming. Uta Priss ZELL, Ostfalia University. XML Introduction Syntax: well-formed Semantics: validity Issues

XML Structures. Web Programming. Uta Priss ZELL, Ostfalia University. XML Introduction Syntax: well-formed Semantics: validity Issues XML Structures Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming XML1 Slide 1/32 Outline XML Introduction Syntax: well-formed Semantics: validity Issues Web Programming XML1 Slide

More information

What is Transaction? Why Transaction Management Required? JDBC Transaction Management in Java with Example. JDBC Transaction Management Example

What is Transaction? Why Transaction Management Required? JDBC Transaction Management in Java with Example. JDBC Transaction Management Example JDBC Transaction Management in Java with Example Here you will learn to implement JDBC transaction management in java. By default database is in auto commit mode. That means for any insert, update or delete

More information

XML: Managing with the Java Platform

XML: Managing with the Java Platform In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. 3. Send this assessment with the answers via: a. FAX to (212) 967-3498. Or b. Mail the answers

More information

Introduction to XML. M2 MIA, Grenoble Université. François Faure

Introduction to XML. M2 MIA, Grenoble Université. François Faure M2 MIA, Grenoble Université Example tove jani reminder dont forget me this weekend!

More information

object/relational persistence What is persistence? 5

object/relational persistence What is persistence? 5 contents foreword to the revised edition xix foreword to the first edition xxi preface to the revised edition xxiii preface to the first edition xxv acknowledgments xxviii about this book xxix about the

More information

Table of Contents. I. Pre-Requisites A. Audience B. Pre-Requisites. II. Introduction A. The Problem B. Overview C. History

Table of Contents. I. Pre-Requisites A. Audience B. Pre-Requisites. II. Introduction A. The Problem B. Overview C. History Table of Contents I. Pre-Requisites A. Audience B. Pre-Requisites II. Introduction A. The Problem B. Overview C. History II. JPA A. Introduction B. ORM Frameworks C. Dealing with JPA D. Conclusion III.

More information

Enterprise JavaBeans, Version 3 (EJB3) Programming

Enterprise JavaBeans, Version 3 (EJB3) Programming Enterprise JavaBeans, Version 3 (EJB3) Programming Description Audience This course teaches developers how to write Java Enterprise Edition (JEE) applications that use Enterprise JavaBeans, version 3.

More information

XML. Jonathan Geisler. April 18, 2008

XML. Jonathan Geisler. April 18, 2008 April 18, 2008 What is? IS... What is? IS... Text (portable) What is? IS... Text (portable) Markup (human readable) What is? IS... Text (portable) Markup (human readable) Extensible (valuable for future)

More information

EXtensible Markup Language XML

EXtensible Markup Language XML EXtensible Markup Language XML 1 What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML tags are not predefined.

More information

Introduction to XML. XML: basic elements

Introduction to XML. XML: basic elements Introduction to XML XML: basic elements XML Trying to wrap your brain around XML is sort of like trying to put an octopus in a bottle. Every time you think you have it under control, a new tentacle shows

More information

Data Presentation and Markup Languages

Data Presentation and Markup Languages Data Presentation and Markup Languages MIE456 Tutorial Acknowledgements Some contents of this presentation are borrowed from a tutorial given at VLDB 2000, Cairo, Agypte (www.vldb.org) by D. Florescu &.

More information

Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics:

Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics: Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics: EJB 3 entities Java persistence API Mapping an entity to a database table

More information

TagSoup: A SAX parser in Java for nasty, ugly HTML. John Cowan

TagSoup: A SAX parser in Java for nasty, ugly HTML. John Cowan TagSoup: A SAX parser in Java for nasty, ugly HTML John Cowan (cowan@ccil.org) Copyright This presentation is: Copyright 2002 John Cowan Licensed under the GNU General Public License ABSOLUTELY WITHOUT

More information

Enterprise JavaBeans 3.1

Enterprise JavaBeans 3.1 SIXTH EDITION Enterprise JavaBeans 3.1 Andrew Lee Rubinger and Bill Burke O'REILLY* Beijing Cambridge Farnham Kbln Sebastopol Tokyo Table of Contents Preface xv Part I. Why Enterprise JavaBeans? 1. Introduction

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

Charting the Course... Mastering EJB 3.0 Applications. Course Summary Course Summary Description Our training is technology centric. Although a specific application server product will be used throughout the course, the comprehensive labs and lessons geared towards teaching

More information

XML. extensible Markup Language. ... and its usefulness for linguists

XML. extensible Markup Language. ... and its usefulness for linguists XML extensible Markup Language... and its usefulness for linguists Thomas Mayer thomas.mayer@uni-konstanz.de Fachbereich Sprachwissenschaft, Universität Konstanz Seminar Computerlinguistik II (Miriam Butt)

More information

Struts: Struts 1.x. Introduction. Enterprise Application

Struts: Struts 1.x. Introduction. Enterprise Application Struts: Introduction Enterprise Application System logical layers a) Presentation layer b) Business processing layer c) Data Storage and access layer System Architecture a) 1-tier Architecture b) 2-tier

More information

COMP9321 Web Application Engineering. Extensible Markup Language (XML)

COMP9321 Web Application Engineering. Extensible Markup Language (XML) COMP9321 Web Application Engineering Extensible Markup Language (XML) Dr. Basem Suleiman Service Oriented Computing Group, CSE, UNSW Australia Semester 1, 2016, Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2442

More information

Lightweight J2EE Framework

Lightweight J2EE Framework Lightweight J2EE Framework Struts, spring, hibernate Software System Design Zhu Hongjun Session 4: Hibernate DAO Refresher in Enterprise Application Architectures Traditional Persistence and Hibernate

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options:

More information

Shale and the Java Persistence Architecture. Craig McClanahan Gary Van Matre. ApacheCon US 2006 Austin, TX

Shale and the Java Persistence Architecture. Craig McClanahan Gary Van Matre. ApacheCon US 2006 Austin, TX Shale and the Java Persistence Architecture Craig McClanahan Gary Van Matre ApacheCon US 2006 Austin, TX 1 Agenda The Apache Shale Framework Java Persistence Architecture Design Patterns for Combining

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: 1,995 + VAT Course Description: This course provides a comprehensive introduction to JPA (the Java Persistence API),

More information

extensible Markup Language

extensible Markup Language extensible Markup Language XML is rapidly becoming a widespread method of creating, controlling and managing data on the Web. XML Orientation XML is a method for putting structured data in a text file.

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411 1 Extensible

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: CDN$3275 *Prices are subject to GST/HST Course Description: This course provides a comprehensive introduction to JPA

More information

The components of a basic XML system.

The components of a basic XML system. XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML XML is a software- and hardware-independent tool for carrying information. XML is easy to learn. XML was designed

More information

XML Technologies. Doc. RNDr. Irena Holubova, Ph.D. Web pages:

XML Technologies. Doc. RNDr. Irena Holubova, Ph.D. Web pages: XML Technologies Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz Web pages: http://www.ksi.mff.cuni.cz/~holubova/nprg036/ Outline Introduction to XML format, overview of XML technologies DTD

More information

Courses For Event Java Advanced Summer Training 2018

Courses For Event Java Advanced Summer Training 2018 Courses For Event Java Advanced Summer Training 2018 Java Fundamentals Oracle Java SE 8 Advanced Java Training Java Advanced Expert Edition Topics For Java Fundamentals Variables Data Types Operators Part

More information

How to Develop a Simple Crud Application Using Ejb3 and Web Dynpro

How to Develop a Simple Crud Application Using Ejb3 and Web Dynpro How to Develop a Simple Crud Application Using Ejb3 and Web Dynpro Applies to: SAP Web Dynpro Java 7.1 SR 5. For more information, visit the User Interface Technology homepage. Summary The objective of

More information

Markup Languages SGML, HTML, XML, XHTML. CS 431 February 13, 2006 Carl Lagoze Cornell University

Markup Languages SGML, HTML, XML, XHTML. CS 431 February 13, 2006 Carl Lagoze Cornell University Markup Languages SGML, HTML, XML, XHTML CS 431 February 13, 2006 Carl Lagoze Cornell University Problem Richness of text Elements: letters, numbers, symbols, case Structure: words, sentences, paragraphs,

More information

JVA-163. Enterprise JavaBeans

JVA-163. Enterprise JavaBeans JVA-163. Enterprise JavaBeans Version 3.0.2 This course gives the experienced Java developer a thorough grounding in Enterprise JavaBeans -- the Java EE standard for scalable, secure, and transactional

More information

ENTERPRISE JAVABEANS TM (EJB TM ) 3.1 TECHNOLOGY

ENTERPRISE JAVABEANS TM (EJB TM ) 3.1 TECHNOLOGY ENTERPRISE JAVABEANS TM (EJB TM ) 3.1 TECHNOLOGY Kenneth Saks Senior Staff Engineer SUN Microsystems TS-5343 Learn what is planned for the next version of Enterprise JavaBeans (EJB ) technology 2008 JavaOne

More information

Web scraping and crawling, open data, markup languages and data shaping. Paolo Boldi Dipartimento di Informatica Università degli Studi di Milano

Web scraping and crawling, open data, markup languages and data shaping. Paolo Boldi Dipartimento di Informatica Università degli Studi di Milano Web scraping and crawling, open data, markup languages and data shaping Paolo Boldi Dipartimento di Informatica Università degli Studi di Milano Data Analysis Three steps Data Analysis Three steps In every

More information

CO Java EE 6: Develop Database Applications with JPA

CO Java EE 6: Develop Database Applications with JPA CO-77746 Java EE 6: Develop Database Applications with JPA Summary Duration 4 Days Audience Database Developers, Java EE Developers Level Professional Technology Java EE 6 Delivery Method Instructor-led

More information

WHAT IS EJB. Security. life cycle management.

WHAT IS EJB. Security. life cycle management. EJB WHAT IS EJB EJB is an acronym for enterprise java bean. It is a specification provided by Sun Microsystems to develop secured, robust and scalable distributed applications. To run EJB application,

More information

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion

More information

What data persistence means? We manipulate data (represented as object state) that need to be stored

What data persistence means? We manipulate data (represented as object state) that need to be stored 1 Data Persistence What data persistence means? We manipulate data (represented as object state) that need to be stored persistently to survive a single run of the application queriably to be able to retrieve/access

More information

Annotation Hammer Venkat Subramaniam (Also published at

Annotation Hammer Venkat Subramaniam (Also published at Annotation Hammer Venkat Subramaniam venkats@agiledeveloper.com (Also published at http://www.infoq.com) Abstract Annotations in Java 5 provide a very powerful metadata mechanism. Yet, like anything else,

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1 Slide 27-1 Chapter 27 XML: Extensible Markup Language Chapter Outline Introduction Structured, Semi structured, and Unstructured Data. XML Hierarchical (Tree) Data Model. XML Documents, DTD, and XML Schema.

More information

EJB 3 Entity Relationships

EJB 3 Entity Relationships Berner Fachhochschule Technik und Informatik EJB 3 Entity Relationships Course Multi Tier Business Applications with Java EE Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Content What are relationships?

More information

XML Metadata Standards and Topic Maps

XML Metadata Standards and Topic Maps XML Metadata Standards and Topic Maps Erik Wilde 16.7.2001 XML Metadata Standards and Topic Maps 1 Outline what is XML? a syntax (not a data model!) what is the data model behind XML? XML Information Set

More information

Object-relational mapping EJB and Hibernate

Object-relational mapping EJB and Hibernate T A R T U Ü L I K O O L MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Aleksandr Tkatšenko Object-relational mapping EJB and Hibernate Referaat aines Tarkvaratehnika

More information

XML. Objectives. Duration. Audience. Pre-Requisites

XML. Objectives. Duration. Audience. Pre-Requisites XML XML - extensible Markup Language is a family of standardized data formats. XML is used for data transmission and storage. Common applications of XML include business to business transactions, web services

More information

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7 CONTENTS Chapter 1 Introducing EJB 1 What is Java EE 5...2 Java EE 5 Components... 2 Java EE 5 Clients... 4 Java EE 5 Containers...4 Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

More information

M359 Block5 - Lecture12 Eng/ Waleed Omar

M359 Block5 - Lecture12 Eng/ Waleed Omar Documents and markup languages The term XML stands for extensible Markup Language. Used to label the different parts of documents. Labeling helps in: Displaying the documents in a formatted way Querying

More information

Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8

Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8 Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8 Author: Ying Liu cdlliuy@cn.ibm.com Date: June 24, 2011 2011 IBM Corporation THE

More information

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition CMP 436/774 Introduction to Java Enterprise Edition Fall 2013 Department of Mathematics and Computer Science Lehman College, CUNY 1 Java Enterprise Edition Developers today increasingly recognize the need

More information

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial. A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far XML Tutorial Yanan Zhang Department of Electrical and Computer Engineering University of Calgary

More information

XPath. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

XPath. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University XPath Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Overview What is XPath? Queries The XPath Data Model Location Paths Expressions

More information

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution

More information

"Web Age Speaks!" Webinar Series

Web Age Speaks! Webinar Series "Web Age Speaks!" Webinar Series Java EE Patterns Revisited WebAgeSolutions.com 1 Introduction Bibhas Bhattacharya CTO bibhas@webagesolutions.com Web Age Solutions Premier provider of Java & Java EE training

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid= 2465 1

More information

The XML Metalanguage

The XML Metalanguage The XML Metalanguage Mika Raento mika.raento@cs.helsinki.fi University of Helsinki Department of Computer Science Mika Raento The XML Metalanguage p.1/442 2003-09-15 Preliminaries Mika Raento The XML Metalanguage

More information