Agenda • Describing Enterprise Applications • Describing Multi-tiered Application Architecture • Developing Applications Using Red Hat JBoss Developer Studio BENEFITS OF JAVA EE ENTERPRISE APPLICATIONS • Platform-independent applications • Applications are portable • Java EE such as web services, asynchronous messaging, transactions, database connectivity, thread pools, batching utilities, and security. • A large number of third-party, ready-to-use applications • A large number of sophisticated tools such as IDEs, monitoring systems COMPARING JAVA ENTERPRISE EDITION (JAVA EE) AND JAVA SE • Java SE is generally used to develop stand-alone programs • The Java EE specification is a set of APIs built on top of Java SE • Java EE includes support for multiple profiles • The Java EE 7 web profile is designed for web application • The Java EE 7 full profile contains all APIs defined by Java EE 7 • Red Hat JBoss Enterprise Application Platform (EAP), implements both profiles BUILDING, PACKAGING AND DEPLOYING JAVA SE AND JAVA EE APPLICATIONS • ship standalone Java applications is to package the application as a Java Archive (JAR) file. • The deployment process for Java EE applications is different • JAR files: Individual modules of an application and Enterprise Java Beans (EJBs) can be deployed as separate JAR files. • Web Archive (WAR) files: If your Java EE application has a web-based front end or is providing RESTful service endpoints • Enterprise Archive (EAR) files: An EAR file has an extension of .ear and is essentially a compressed file with one or more WAR or JAR files DESCRIBING MULTI-TIERED APPLICATION ARCHITECTURE • Client Tier: • Web Tier: • Business Logic Tier: • Enterprise Information Systems (EIS) Tier: TYPES OF MULTI-TIER APPLICATION ARCHITECTURES • Web-Centric architecture Combined web and business logic component- based architecture Business-to-Business architecture (B2B) Web service application architecture DEVELOPING APPLICATIONS USING RED HAT JBOSS DEVELOPER STUDIO • After completing this section, students should be able to: • Describe the Red Hat JBoss Developer Studio editor features and installation process. • Describe how to use Maven to manage application dependencies RED HAT JBOSS DEVELOPER STUDIO • Integrated Development Environment • It is a set of integrated and welltested plug-ins on top of the Eclipse™ platform. • Features: • Plug-ins to simplify development • Unit testing plug-ins • A visual debugger • Syntax highlighting and code completion • Maven integration • Unit adapters and plug-ins to work with JBoss EAP. APACHE MAVEN • current best practice for developing, testing, building, packaging, and deploying • Features • Predefined build life cycles, artifacts, • Built-in best practices such as source file locations and running unit tests • Dependency management with automatic downloading of missing dependencies. • Extensive plug-in collection including plug-ins specific to JBoss development and deployment. • Project report generation including Javadocs, test coverage, and many more Maven Directory Structures Maven Dependency Scopes GUIDED EXERCISE • DEVELOPING APPLICATIONS USING RED HAT JBOSS DEVELOPER STUDIO SUMMARY • In this Module, you learned: • Enterprise applications • Java Enterprise Edition (Java EE) • The Java SE API • Java EE applications • Red Hat JBoss Developer Studio • Apache Maven