Des classes Java/exemple pour chaque technologie. pourrait ne pas être possible dans un seul post, parce que ce que vous avez demandé, c'est l'évolution de l'industrie qui s'est déroulé en dernière décennie et continue d'évoluer. Donc, ce qui s'est passé au cours de la dernière décennie ne peut pas être couverts dans un post. Toutefois, il est bon de comprendre comment il est passé par cette phase et pourquoi la nouvelle technologie de pile nécessaire et quel genre de problème qu'il résout.
-
Les ejb
Enterprise Java Beans serverside composant de l'architecture. Il permet rapide et simplifiée de développement de
1) distribuée(où plusieurs serveur d'application se parle, les composants du serveur(par exemple, le service de l'appel à d'autres services hébergés sur différents serveurs).
2) les opérations de la persistance de haricot (DB TXNs), partie la plus importante de tout simple/web/de l'application distribuée. Facile le développement de l'e.g de configuration de base. Écrire du XML qui prend soin de la transaction, par exemple lors de commettre, quand le rouleau à l'arrière(sur les exceptions), etc. JPA Java Persistance Api fournissent relation de l'objet cartographique. Comme votre ligne de la table est mappé à votre objet java par le biais de la configuration xml.
3) fixez - authentification(uid/pwd) et l'autorisation(basé sur un rôle - qui est l'utilisateur connecté et que toutes les tâches qu'il peut faire?).
Cela ressemble bien à un point à développer importe quelle application d'entreprise cependant, il a quelques inconvénients, par exemple le très lourd (tous les pots inclus.). Les Classes utilisées comme bean devrait confirmer EJB normes (classes devraient avoir mis en place certaines interface EJB moteur de comprendre quel type de haricot, il est).
Pour surmonter ces scenarioes, il y a beaucoup de solutions de rechange sont disponibles dans l'industrie pour les Ejb e.g Hibrnate n'mêmes choses telles que la OU la cartographie, TXN traitant des mêmes fournis par la persistance de haricots dans de l'EJB. Printemps, poids léger cadre et simplifie la logique métier (vous pouvez utiliser votre déjà construire classe qui n'a pas besoin d'implémenter une interface, checked exceptions ou s'étend de l'obligation de classes abstraites).
Maintenant un jours, la plupart des compnies vraiment le poids léger de cadre de travail tels que Spring, Hibernate, IBatis, Axe-2.
-
L'Architecture Orientée Service (SOA)
L'Architecture Orientée Service est une réponse à l'indépendance de plate-forme au niveau de l'entreprise.
OU
L'intégration de vos applications plus rapidement, pour communiquer entre le serveur d'application différent.
Il suffit de penser que vous souhaitez mettre en œuvre la solution où vous offrant l'option de réservation d'hôtel partout dans le monde. Votre obligation est de vérifier la disponibilité des chambres dans ces hôtels. Maintenant, cela signifie que vous avez besoin d'interagir avec de multiples applications hôtel à la fois. Il n'est pas nécessaire que chaque hôtel est en utilisant la même norme ou de leur application(serveur, langage de programmation) peut être déployé sur les serveurs d'applications différentes. En même temps, ce n'est pas pratique pour écrire des applications différentes qui peuvent parler à tout autre type de serveur d'applications. Nous avons besoin de quelques standards de la solution qui peut résoudre ce problème. Il est possible par le biais de services Web.
Il est possible que parce que les services web sont de l'envoi de message SOAP(Simple Object Access Protocol), basé sur le XML. XML est utilisé pour échanger des données à travers toute langue, de plateforme ou de protocole de réseau.
Les services Web peuvent être classés SOAP et REST.
SAVON à base de service JAX-RPC et JAX-WS (http://www.ibm.com/developerworks/webservices/library/ws-tip-jaxwsrpc/index.html)
Les services Web peuvent être développés
contrat de premier premier à écrire WSDL.
le premier code premier à écrire de code.
Maintenant, parlons de comment démarrer pour les services web pratiquement.
La plus simple service web ou bonjour tout le monde(JAXWS) peut être écrite comme suit:-
http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/java_first_jaxws/
- Middleware Orienté Message (MOM)
- JMS
-
Message de la File d'attente (Point-to-Point)
MAMAN est nécessaire pour surmonter les inconvénients de demande-réponse style de communication. Serveur ont besoin d'être en vie quand le client envoie la réponse. Client attendre la réponse jusqu'serveur exécute et répondre en retour.
Demande de réponse de l'application échoue si le serveur ou le client est en bas.
MAMAN - Soit du point de fin n'est pas nécessaire d'être à l'heure, vous envoyez le message de demande pour le traitement.
MAMAN est concept et de la spécification JMS est sur ce concept. Beaucoup de fournisseurs de la mise en œuvre de cette spécification.e.g IBM MQ, OpenJMS open source, mise en œuvre, de Tibco EMS etc.
JMS cahier des charges s'est majorly deux modèles. Pub/sub et ponin-à-point.
Pub/sub est sujet, votre application souhaitez publier certaines informations à toutes les parties intéressées. par exemple tableau de bord. (Application Stock souhaitez les informer de certains message à tous les écouteurs enregistrés).
Point-à-Point de la communication se fait par le biais de file d'attente de messages.
Affaires de cas d'utilisation - pensez-vous avoir des applications en électronique.g demande du client pour le service à la clientèle. Autre côté, vous avez plusieurs chargés de clientèle et d'autres clients ont parfois plus de chargés de clientèle, à un moment un et un seul représentant obtiendrez la demande soit traitée et qu'il/elle ne sera pas obtenir de la requête suivante jusqu'à ce que se termine la tâche. (Même une file d'attente de plusieurs fenêtres et qui jamais de la fenêtre est gratuit traitera la demande). Vous pouvez penser à d'autres de la complexité dans ce message.g si l'un des nœud est échoué, demande non traitée et du type de demande doit être processus par nœud particulier. etc.
Produire du code:- http://docs.oracle.com/javaee/1.4/tutorial/examples/jms/simple/src/SimpleProducer.java
Consommation code synchrone:- (classes POJO)
http://docs.oracle.com/javaee/1.4/tutorial/examples/jms/simple/src/SimpleSynchConsumer.java
http://www.java2s.com/Code/Java/J2EE/ThisexampleisasimpleJMSclientapplication.htm
Consommer du code asynchrone:- (Printemps par exemple - message de destination jusqu'programme ne sera pas arrêté.)
http://www.springbyexample.org/examples/simple-spring-jms-listener-config.html
Si, c'est juste que de base il ya de nombreux aspects à prendre en compte dans cette MAMAN par exemple, ce qui est le fail-over mécanisme, qu'est-ce que le sélecteur durable, message, message d'accusé de réception modes etc...
- Service de Bus/ESB
- Les Systèmes D'Extrémité Et Des Routes
- Apache Camel
- Mule
Maintenant, disons que vous avez adopté la SOA et de la MAMAN de long en arrière et vous avez des tas de services qui parle à chacun d'accomplir à l'échelle de la tâche. Imaginez à gérer logique comme plusieurs de destination qui doit être redirigé à partir de laquelle seront très lourdes. Certaines personnes appellent cela la logique de l'application. Service de bus sera utilisé pour réduire la logique de l'application et de se concentrer plus sur la logique métier(fonctionnalités offertes par l'application).
En termes Simples, considérer le point de Fin d'URL exposé sur le serveur. Vous allez utiliser cette url/point de fin pour appeler votre service.
par exemple
http://localhost:8888/Context/MyService?wsdl
dans le code:-
String endpointAddress = "http://localhost:8080/jaxws/services/hello_world?wsdl";
// Add a port to the Service
service.addPort(PORT_NAME, SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);
HelloWorld hw = service.getPort(HelloWorld.class);
System.out.println(hw.sayHi("World"));
Itinéraires
Lorsque le service de bus reçoit message particulier, il prendra le chemin à travers pas de services de courtier ou des destinations telles que la file d'attente et sujets. Cette voie est connue comme la route.
E. g votre stock de l'application a reçu des commentaires de l'analyste, il sera traité par l'application ou le composant de site web et alors le résultat sera publié à tous les intéressés/membres inscrits de particulier, mise à jour de stock.
Apache Camel et Muel http://camel.apache.org/how-does-camel-compare-to-mule.html
fournit la solution pour l'intégration d'entreprise.