Платформа Java и
IDE Netbeans 6.7 для
разработки
Enterprise (корпоративных)
и Web приложений

• Андрей Родионов
• Community manager
• Sun Microsystems
Перечень тем
• Двух- и трех– уровневая архитектура приложений
• Обзор Java платформы: Java SE, Java EE, Java ME
• IDE NetBeans как среда разработки разных типов
  приложений
• Возможности Java EE для построения трех(много)-
  уровневых приложений
• Glassfish Application Server - обзор, демонстрация работы
• Технологии для разработки Web-уровня
• Технологии для разработки бизнес-уровня
• Практика
  > Web service
  > Java persistence
  > EJB
«Drinkens, Who is this?»
3 Million People a Week Join the
Network!
Java SE, Java EE, Java ME
Java SE, Java EE, Java ME
NetBeans IDE 6.7 Features
• Java SE (Java Standard Edition)
• Web and Java EE (Java Enterprise Edition)
 > Web Applications
 > Java EE Applications
 > Web Services
• Mobility (Java Micro Edition)
• Ruby, JRuby, Ruby on Rails
• C and C++
• UML
• SOA, XSLT Designer, WSDL and XML
• JavaFX
• Project Kanai
Двух- и трех– уровневая архитектура
приложений
• Возможность использования
  различных языков
  программирования для различных
  компонентов
• Централизация компонентов
• Балансировка нагрузки
• Более эффективный доступ к
  данным
• Улучшенная защита
• Более простой доступ к внешним
  ресурсам
Java SE, Java EE, Java ME
Java Stadard Edition
Java Enterprise Edition
• Построена на Java Standard Edition (Java SE)
• Web Application Technologies
• Web Services Technologies
• Enterprise Application Technologies
• Management and Security Technologies

• Sun Java System Application Server (Glassfish)
Java EE для построения трех(много)-
уровневых приложений
Java EE Components

• Application clients and applets are components that
  run on the client
• Java Servlet, JavaServer Faces, and JavaServer
  Pages (JSP) technology components are web
  components that run on the server
• Enterprise JavaBeans (EJB) components
  (enterprise beans) are business components that
  run on the server
Java EE Clients

• Web Clients
  > dynamic web pages containing various types of
    markup language (HTML, XML, and so on), which are
    generated by web components running in the web tier
  > web browser, which renders the pages received from
    the server
• Applets
• Application Clients
• The JavaBeans Component Architecture
Java EE Server Communications
Web Components
• Java Servlet technology
• Java Server Pages (JSP)
• Java Server Faces (JSF)
Business Components &
Enterprise Information SystemTier
Архитектура API Java EE
Java EE 5 APIs
• Java ServletTechnology        • Java Architecture for XML
                                  Binding (JAXB)
• JavaServer PagesTechnology
                                • SOAP with Attachments API
• JavaServer Pages                for Java
  StandardTag Library
                                • Java API for XML Registries
• JavaServer Faces
                                • J2EE Connector
• Java Message Service API        Architecture
• JavaTransaction API           • Java Database Connectivity
• JavaMail API                    API
• JavaBeans Activation          • Java Persistence API
  Framework                     • Java Naming and Directory
• Java API for XML Processing     Interface
• Java API for XMLWeb           • Java Authentication and
  Services (JAX-WS)               Authorization Service
Типы Web-приложений

• Presentation-oriented
  > A presentation-oriented web application generates
   interactive web pages containing various types of
   markup language (HTML, XML, and so on) and
   dynamic content in response to requests.
• Service-oriented
  > A service-oriented web application implements the
   endpoint of a web service. Presentation-oriented
   applications are often clients of service-oriented web
   applications
Технологии для разработки Web-
уровня
• Java Servlet technology
• Java Server Pages (JSP)
• Java Server Faces
Java Servlet technology
• A servlet is a Java programming language class
Java Server Pages (JSP)
• JavaServer Pages (JSP) technology allows you to easily create web
  content that has both static and dynamic components
• A JSP page is a text document that contains two types of text: static
  data, which can be expressed in any text-based format (such as
  HTML, SVG,WML, and XML), and JSP elements, which construct
  dynamic content
Java Server Faces
• JavaServer Faces technology is a server-side user
  interface component framework for Java
  technology-based web applications
Технологии для разработки бизнес-
уровня
• Web Services
• Enterprise JavaBeans (EJB)
 > Session Bean (Stateful, Stateless)
 > Message-Driven Beans
• Java Persistence
Web Services
• Дает возможность удаленного вызова функций по
  протоколу HTTP
• Клиент и сервер могут базироваться на разных
  программных платформах
• Стандарт передачи данных SOAP (формат XML)
Enterprise JavaBeans (EJB)
• Written in the Java programming language, an
  enterprise bean is a server-side component that
  encapsulates the business logic of an application.
  The business logic is the code that fulfills the purpose
  of the application.
• Enterprise beans simplify the development of large,
  distributed applications
• Enterprise beans are portable components, the
  application assembler can build new applications
  from existing beans
When to Use Enterprise Beans?
• The application must be scalable. To accommodate
  a growing number of users, you may need to
  distribute an application’s components across
  multiple machines.
• Transactions must ensure data integrity. Enterprise
  beans support transactions, the mechanisms that
  manage the concurrent access of shared objects.
• The application will have a variety of clients. With
  only a few lines of code, remote clients can easily
  locate enterprise beans. These clients can be thin,
  various, and numerous.
Types of Enterprise Beans
Session Bean - a session bean represents a single
 client inside the Application Server. To access an
 application that is deployed on the server, the client
 invokes the session bean’s methods
  > Stateful
  > Stateless
• Message-Driven Beans - a message-driven bean is
  an enterprise bean that allows Java EE
  applications to process messages asynchronously.
  It normally acts as a JMS message listener, which
  is similar to an event listener except that it receives
  JMS messages instead of events.
Stateful session bean

• The bean’s state represents the interaction
  between the bean and a specific client.
• The bean needs to hold information about the client
  across method invocations.
• The bean mediates between the client and the
  other components of the application, presenting a
  simplified view to the client.
• Behind the scenes, the bean manages the work
  flow of several enterprise beans.
Stateless session bean

• The bean’s state has no data for a specific client.
• In a single method invocation, the bean performs a
  generic task for all clients. For example, you might
  use a stateless session bean to send an email that
  confirms an online order.
• A stateless session bean can implement a web
  service, but other types of enterprise beans cannot.
Message-Driven Beans
Session beans allow you to send JMS messages and to
 receive them synchronously, but not asynchronously.
 To avoid tying up server resources, do not to use
 blocking synchronous receives in a server-side
 component, and in general JMS messages should not
 be sent or received synchronously. To receive
 messages asynchronously, use a message-driven
 bean.
СПАСИБО!

Andrii.Rodionov@sun.com

http://blogs.sun.com/ntuu
http://osug.org.ua/

Java Platform and IDE Netbeans 6.7 for Developing Enterprise and Web Applications

  • 1.
    Платформа Java и IDENetbeans 6.7 для разработки Enterprise (корпоративных) и Web приложений • Андрей Родионов • Community manager • Sun Microsystems
  • 2.
    Перечень тем • Двух-и трех– уровневая архитектура приложений • Обзор Java платформы: Java SE, Java EE, Java ME • IDE NetBeans как среда разработки разных типов приложений • Возможности Java EE для построения трех(много)- уровневых приложений • Glassfish Application Server - обзор, демонстрация работы • Технологии для разработки Web-уровня • Технологии для разработки бизнес-уровня • Практика > Web service > Java persistence > EJB
  • 3.
  • 4.
    3 Million Peoplea Week Join the Network!
  • 5.
    Java SE, JavaEE, Java ME
  • 6.
    Java SE, JavaEE, Java ME
  • 7.
    NetBeans IDE 6.7Features • Java SE (Java Standard Edition) • Web and Java EE (Java Enterprise Edition) > Web Applications > Java EE Applications > Web Services • Mobility (Java Micro Edition) • Ruby, JRuby, Ruby on Rails • C and C++ • UML • SOA, XSLT Designer, WSDL and XML • JavaFX • Project Kanai
  • 8.
    Двух- и трех–уровневая архитектура приложений • Возможность использования различных языков программирования для различных компонентов • Централизация компонентов • Балансировка нагрузки • Более эффективный доступ к данным • Улучшенная защита • Более простой доступ к внешним ресурсам
  • 9.
    Java SE, JavaEE, Java ME
  • 10.
  • 11.
    Java Enterprise Edition •Построена на Java Standard Edition (Java SE) • Web Application Technologies • Web Services Technologies • Enterprise Application Technologies • Management and Security Technologies • Sun Java System Application Server (Glassfish)
  • 12.
    Java EE дляпостроения трех(много)- уровневых приложений
  • 13.
    Java EE Components •Application clients and applets are components that run on the client • Java Servlet, JavaServer Faces, and JavaServer Pages (JSP) technology components are web components that run on the server • Enterprise JavaBeans (EJB) components (enterprise beans) are business components that run on the server
  • 14.
    Java EE Clients •Web Clients > dynamic web pages containing various types of markup language (HTML, XML, and so on), which are generated by web components running in the web tier > web browser, which renders the pages received from the server • Applets • Application Clients • The JavaBeans Component Architecture
  • 15.
    Java EE ServerCommunications
  • 16.
    Web Components • JavaServlet technology • Java Server Pages (JSP) • Java Server Faces (JSF)
  • 17.
    Business Components & EnterpriseInformation SystemTier
  • 18.
  • 19.
    Java EE 5APIs • Java ServletTechnology • Java Architecture for XML Binding (JAXB) • JavaServer PagesTechnology • SOAP with Attachments API • JavaServer Pages for Java StandardTag Library • Java API for XML Registries • JavaServer Faces • J2EE Connector • Java Message Service API Architecture • JavaTransaction API • Java Database Connectivity • JavaMail API API • JavaBeans Activation • Java Persistence API Framework • Java Naming and Directory • Java API for XML Processing Interface • Java API for XMLWeb • Java Authentication and Services (JAX-WS) Authorization Service
  • 20.
    Типы Web-приложений • Presentation-oriented > A presentation-oriented web application generates interactive web pages containing various types of markup language (HTML, XML, and so on) and dynamic content in response to requests. • Service-oriented > A service-oriented web application implements the endpoint of a web service. Presentation-oriented applications are often clients of service-oriented web applications
  • 22.
    Технологии для разработкиWeb- уровня • Java Servlet technology • Java Server Pages (JSP) • Java Server Faces
  • 23.
    Java Servlet technology •A servlet is a Java programming language class
  • 24.
    Java Server Pages(JSP) • JavaServer Pages (JSP) technology allows you to easily create web content that has both static and dynamic components • A JSP page is a text document that contains two types of text: static data, which can be expressed in any text-based format (such as HTML, SVG,WML, and XML), and JSP elements, which construct dynamic content
  • 26.
    Java Server Faces •JavaServer Faces technology is a server-side user interface component framework for Java technology-based web applications
  • 27.
    Технологии для разработкибизнес- уровня • Web Services • Enterprise JavaBeans (EJB) > Session Bean (Stateful, Stateless) > Message-Driven Beans • Java Persistence
  • 28.
    Web Services • Даетвозможность удаленного вызова функций по протоколу HTTP • Клиент и сервер могут базироваться на разных программных платформах • Стандарт передачи данных SOAP (формат XML)
  • 32.
    Enterprise JavaBeans (EJB) •Written in the Java programming language, an enterprise bean is a server-side component that encapsulates the business logic of an application. The business logic is the code that fulfills the purpose of the application. • Enterprise beans simplify the development of large, distributed applications • Enterprise beans are portable components, the application assembler can build new applications from existing beans
  • 33.
    When to UseEnterprise Beans? • The application must be scalable. To accommodate a growing number of users, you may need to distribute an application’s components across multiple machines. • Transactions must ensure data integrity. Enterprise beans support transactions, the mechanisms that manage the concurrent access of shared objects. • The application will have a variety of clients. With only a few lines of code, remote clients can easily locate enterprise beans. These clients can be thin, various, and numerous.
  • 34.
    Types of EnterpriseBeans Session Bean - a session bean represents a single client inside the Application Server. To access an application that is deployed on the server, the client invokes the session bean’s methods > Stateful > Stateless • Message-Driven Beans - a message-driven bean is an enterprise bean that allows Java EE applications to process messages asynchronously. It normally acts as a JMS message listener, which is similar to an event listener except that it receives JMS messages instead of events.
  • 35.
    Stateful session bean •The bean’s state represents the interaction between the bean and a specific client. • The bean needs to hold information about the client across method invocations. • The bean mediates between the client and the other components of the application, presenting a simplified view to the client. • Behind the scenes, the bean manages the work flow of several enterprise beans.
  • 36.
    Stateless session bean •The bean’s state has no data for a specific client. • In a single method invocation, the bean performs a generic task for all clients. For example, you might use a stateless session bean to send an email that confirms an online order. • A stateless session bean can implement a web service, but other types of enterprise beans cannot.
  • 37.
    Message-Driven Beans Session beansallow you to send JMS messages and to receive them synchronously, but not asynchronously. To avoid tying up server resources, do not to use blocking synchronous receives in a server-side component, and in general JMS messages should not be sent or received synchronously. To receive messages asynchronously, use a message-driven bean.
  • 38.