this ppt tells you about what is spring in java. how to use spring? and what are the main methods of spring class? For more info and free java projects visit : http://s4al.com/category/study-java/
This ppt tells about spring class in java. what spring class have, all the methods in brief. for more info please visit : http://s4al.com/category/study-java/
JAVA EE DEVELOPMENT (JSP and Servlets)Talha Ocakçı
Java and J2EE is the most used technologies in enterprise web development. Telecom operators, service providers are using these technlogies; banking and insurance companies are moving to Java from old generation technologies.
https://www.udemy.com/java-web-developmen-with-real-world-development-flow
If you want to earn much in web development business, you also need to learn Java web technologies.
Java has de facto standart frameworks such as EJB 3.0, Spring and others that can be bound to them.
But at heart, they all use the similar JSP/Servlet technology and add some layers above them to speed up the development.
You will use them in your daily business but before using them, you must learn the basics and what is going on while using them. Otherwise, you will not be able to find a proper solution to common problems.
This course will make you understand the basics of JSP / servlet technlogies, designing a relational database, DB operations, design patterns, working with other developers,
and let you know the must-do operations in professional projects such as performance increasing, logging errors.
If you want to develop a web-site in a couple of hours without understanding what you are doing, you may go ahead and find other resources. But if you really want to understand what you are doing and learn the theory at the same time, this course will be a great oppurtunity for you. You will develop a real working project. Yow will first write quick and dirty code then you will apply professional patterns one by one while investigating the problems.
You will walk through a real development flow:
1- Write a quick and dirty code for doing the job.
2- You will design database tables and high performance queries
3 - You will apply design patterns to make the code reusable and high performance.
4 - You will beautify the user interface with Javascript and CSS tweaks
5- You will add exception handling, logging mechanism for production environment
6- AT THIS STEP, YOU WILL BE HIRED FOR MUCH MUCH HIGHER SALARIES. BECAUSE YOU ARE A REAL PROFESSIONAL.
this ppt tells you about what is spring in java. how to use spring? and what are the main methods of spring class? For more info and free java projects visit : http://s4al.com/category/study-java/
This ppt tells about spring class in java. what spring class have, all the methods in brief. for more info please visit : http://s4al.com/category/study-java/
JAVA EE DEVELOPMENT (JSP and Servlets)Talha Ocakçı
Java and J2EE is the most used technologies in enterprise web development. Telecom operators, service providers are using these technlogies; banking and insurance companies are moving to Java from old generation technologies.
https://www.udemy.com/java-web-developmen-with-real-world-development-flow
If you want to earn much in web development business, you also need to learn Java web technologies.
Java has de facto standart frameworks such as EJB 3.0, Spring and others that can be bound to them.
But at heart, they all use the similar JSP/Servlet technology and add some layers above them to speed up the development.
You will use them in your daily business but before using them, you must learn the basics and what is going on while using them. Otherwise, you will not be able to find a proper solution to common problems.
This course will make you understand the basics of JSP / servlet technlogies, designing a relational database, DB operations, design patterns, working with other developers,
and let you know the must-do operations in professional projects such as performance increasing, logging errors.
If you want to develop a web-site in a couple of hours without understanding what you are doing, you may go ahead and find other resources. But if you really want to understand what you are doing and learn the theory at the same time, this course will be a great oppurtunity for you. You will develop a real working project. Yow will first write quick and dirty code then you will apply professional patterns one by one while investigating the problems.
You will walk through a real development flow:
1- Write a quick and dirty code for doing the job.
2- You will design database tables and high performance queries
3 - You will apply design patterns to make the code reusable and high performance.
4 - You will beautify the user interface with Javascript and CSS tweaks
5- You will add exception handling, logging mechanism for production environment
6- AT THIS STEP, YOU WILL BE HIRED FOR MUCH MUCH HIGHER SALARIES. BECAUSE YOU ARE A REAL PROFESSIONAL.
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...jaxLondonConference
Presented at JAX London 2013
The Java EE 7 platform focuses on Productivity and HTML5. JAX-RS 2 adds a new Client API to invoke the RESTful endpoints. JMS 2 is undergoing a complete overhaul to align with improvements in the Java language. The long awaited Batch Processing API and Concurrency API are also getting added to build applications using capabilities of the platform itself. Together these APIs will allow you to be more productive by simplifying enterprise development. WebSocket attempts to solve the issues and limitations of HTTP for real-time communication.
ITT 2015 - Simon Stewart - Building Android Apps at Speed and ScaleIstanbul Tech Talks
Every two weeks Facebook releases a new version of their flagship Android application which is one of the most widely used apps in the world. The codebase is worked on by a large engineering team. In this talk, Simon Stewart covers some of the technologies and approaches that Facebook use to allow their engineers to work with confidence and speed on the codebase, while at the same time ensuring solid and timely releases.
4. Concept
EJB regroups several concepts
Provides different services (Session Bean),
communicates with another application (Message Bean),
saves information (Entity Bean).
Just like a brain, EJB is the
center of the application.
It proposes many functions.
5. Version 3
The previous version (2.1) was too complex
The version 3.0 tends to simplification :
Less steps, less classes, less configuration
Improvements from Java EE 5
Annotations
Generics
Java Persistance API
Concepts remain the same, but Sun integrated many ideas
from popular open-source projects like Spring or Hibernate.
6. Application servers
WebLogic, by BEA
Oracle Application Server, by Oracle
JBoss, by RedHat
GlassFish, by Sun MicroSystems
8. Facade pattern
The Session Bean acts as a “facade”.
It's the client's interlocutor
9. Client access
Different clients can call the Session Bean methods if they
possess its interface
Desktop application
Interface
Implementation
Session Bean deployed on a server
Web application
10.
11.
12. Session Bean Local
Set @Local on the interface (not mandatory)
Used when the client is deployed in the same virtual
machine
Example :
A Web application deployed in the same server as the
Session Bean
Advantage :
Resource-friendly
More secure
Disadvantage :
Local scope
13. Session Bean Local
Local interfaces are not mandatory
@Stateless
public class HelloServiceBean {
public String sayHello(){
return "Hello World";
}
}
14. Session Bean Remote
Set @Remote on the interface
Used when the client is located in a different virtual
machine
Example :
A web application deployed in a different server than the
Session Bean
A rich-client
Advantage :
Open on the network
Disadvantage :
Consumes more resources (uses RMI)
Security
15. Session Bean Remote
Interface
@Remote
public interface HelloService {
public String sayHello();
}
Implementation
@Stateless
public class HelloServiceBean implements HelloService{
public String sayHello(){
return "Hello World";
}
}
16. Stateless mode
A Stateless Bean is not bound to any client
Exemples :
Retrieve a list of
products
HelloService
getPlaces() getPlaces()
Advantage : getTrips()
Resource-friendly
17. Stateless mode
@Stateless
public class HelloWorld {
public String sayHelloTo(String name){
return "Hello " + name;
}
}
18. Stateful mode
A Statefull Bean is bound to a client
Exemples :
Cart
OrderService getPlaces()
getPlaces()
Advantage : getTrips()
Impact on server
performance
19. Stateful mode
@Stateful
public class OrderService {
public void setName(String name){…};
public void setAddress(String address){…};
public void buyDog(){…};
…
}
20. Singleton mode
One Singleton Bean per JVM
Exemples :
Counter
Cache
Advantage :
Resource-friendly
One instance
Disadvantage :
One instance
21. Singleton mode
@Singleton
public class Counter {
private int i = 0;
public int getCount(){
return ++i;
}
}
22. Asynchronous calls
How to have asynchronous call in EJBs ?
Threads don't integrate well
@Asynchronous
Method returns void or java.util.concurrent.Future<T>
23. Asynchronous calls
@Stateless
public class HelloWorld {
@EJB MailManager mailManager;
public String sayHelloTo(String name){
mailManager.sendMail();
return "Hello " + name;
}
}
@Stateless
public class MailManager {
@Asynchronous
public void sendMail(){
...
}
}
24. Timer Service
Programmatic and Calendar based scheduling
« Last day of the month »
« Every five minutes on Monday and Friday »
Cron-like syntax
second [0..59], minute[0..59], hour[0..23], year
DayOfMonth[1..31]
dayOfWeek[0..7] or [sun, mon, tue..]
Month[0..12] or [jan,feb..]
29. Unit Test
Cactus is a simple test framework for
unit testing server-side java code
(Servlets, EJBs, Tag Libs, Filters, ...).
The Ejb3Unit project automates Entity and Session
bean testing outside the container for the EJB 3.0
specification.
31. EJB connection with lookup
The client needs the JNDI context to connect to the server.
The client also needs the Session Bean interface
Retrieve the Session Bean with a lookup()
Then it's possible to call methods from the Bean
Context context = new InitialContext();
HelloService hello = (HelloService)
context.lookup(HelloService.class.getName());
System.out.println(hello.sayHello());
The Session Bean will send you a message !
32. EJB connection with lookup
jndi.properties file example
GlassFish parameters
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
JBoss Parameters
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url = 127.0.0.1:1099
33. EJB injection
In the same JVM, it's not necessary to do a lookup()
Obtain a Session Bean with resource injection
Used in other EJBs, web applications
public class ClientServiceBean
implements ClientService {
@EJB
private OrderService orderService;
...
}
34. Soap WS in EJB module
Add @WebService and @Stateless annotation on a class
It run !
@WebService
@Stateless
public class MyBeanPublic {
@WebMethod
public String helloWorld() {
return null;
}
}
Default WSDL address : http://localhost:
8080/MyBeanPublicService/MyBeanPublic?wsdl
35. Soap WS in EJB module
Now, we use our EJB @stateless in our SOAP WS.
@WebService
@Stateless
public class MyBeanPublic {
@EJB
private MyBeanLocal ejbRef;
@WebMethod
public String helloWorld() {
return ejbRef.helloWorld();
}
}
39. Persistence Unit
Different providers
Hibernate (use by default in JBoss)
TopLink (use by default in Glassfish v2)
EclipseLink (use by default in Glassfish v3)
42. EntityManager in EJB
Obtain an EntityManager with injection
@Stateless
public class DAO {
@PersistenceContext(unitName="montrealjugPU")
protected EntityManager em;
public void createCat(Cat cat){
em.persist(cat);
}
}
44. JMS presentation
The same since 2002
Used when some information should be exchanged
between
Two applications : point-to-point model
Several applications : publish and subscribe model
Asynchronous system : messages are received when the
client request them
Similar to a mail system
47. Messages
There are three different types of messages
TextMessage to send simple text
ObjectMessage for a serialized object
MapMessage contains a map with strings as keys and
objects as values
48. Send a message
In order to send a message, we have to:
Reclaim required objects via JNDI
A ConnectionFactory (service provider)
A Destination (Queue or Topic)
Create a Connection using the factory
Open a Session using the connection
Create a MessageProducer
Send the message
49. Send a message
Context ctx = new InitialContext();
ConnectionFactory connectionFactory = (ConnectionFactory) ctx
.lookup("ConnectionFactory");
Destination destination = (Destination) ctx.lookup("queue/StockValue");
Connection cnx = connectionFactory.createConnection();
Session session = cnx.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage();
message.setText("Your'microsoft' stock has been sold !");
producer.send(message);
cnx.close();
50. Receive a message
Two ways to receive a message
Blocking, waiting for a message
Non-blocking, using a message listener
A message listener is similar to an event listener : it
"subscribes" to a particular destination and receives
messages each time there's a new one
51. Receive a message
Blocking mode
MessageConsumer consumer = session.createConsumer
(destination);
// Retrieve a single message
Message receivedMessage = consumer.receive();
Non-blocking mode, using a listener
MessageConsumer consumer = session.createConsumer(destination);
// Set the listener
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
// Will be called each time a message is received
}
});
52. Receive a message : Message Driven Bean
A Message Driven Bean is a specific component for
receiving messages
Annotation used is @MessageDriven
Destination name and type are declared in the annotation
Implements javax.jms.MessageListener
Method public void onMessage(Message m)
Called at the moment of receipt