lundi 23 mars 2009

Open de bloc à la salle Solo Escalade

Bonjour à tous,

je vous informe que l'open de bloc à la salle Solo Escalade (à L'Union) aura lieu ce samedi 28 mars 2009 et comme l'an dernier nous attendons beaucoup de monde. Pour ma part j'ouvrirai le secteur cafetière un grand pan vertical et une partie légèrement dévers, où je vous réserve bien des mouvements aussi bien tordus que complètement loufoque du très facile à abominable.



Cordialement,

Adrien

mercredi 11 mars 2009

Agent Architecture Presentation

The Agent Architecture, is a kind of cognitive architectures, often used for software agents and intelligent control systems (blueprint).
The agent architecture is the product or the vision of moving from objective component to projective component. The idea, is a passive component offering several services by using other objects to perform its functionalities.
A agent can use by intelligent manners other agents to perform its goals, the dialogue between various agents is possible and useful for information exchanges.

One of the best utility to implement this architecture, is the JMX Java API, with three differents layer:

Layer 3 : Manager Level
Layer 2 : Agent Level
Layer 1 : Instrumentation Level

With these various levels of abstraction you can manage several ressources thank to differents management applications.

Sun Explain Schema :



java.un.com explanations

mardi 10 mars 2009

PEtALS and Legacy System Interoperability

PEtALS and Legacy System Interoperability



The legacy system is often old computer system difficult to manage, or application program almost impossible to interact. Several Organizations, Corporates and Companies have good reasons to keep a legacy system, but the big question that often get back is:

How the new and recent systems, at the cutting edge of technology, can interact with these old legacy systems ? Many solutions were found like mainframes, EAI, Brownfield architecture …
but the subject solution for this article focus the SOA approch with PEtALS ESB.

How you can see in the following diagram PEtALS can be accessed by several binding component, like FTP, SOAP … which allowing to communicate with the bus.

For the legacy system you can develop a specific binding component, which allow the communication and interoperability between the legacy system and PEtALS. This kind of adapter allow to interact with the legacy system with PEtALS, a client, corporate … can request the legacy system by PEtALS through another protocol like SOAP, FTP …

The goal is that PEtALS provide access to this legacy system, like a available and reliable service for customer, where the service consumer will be able to interact with this legacy system thank to PEtALS anywhere on the bus.

In the future where some many differents adapters will be developed, these binding components will allowed to marshall/unmarshall differents messages exchanged between several legacy systems.







گ Agile Point of PEtALS:


allow you to provide a specific connector to interact with a specific legacy system through the bus. With these many differents connectors, you can create a very big agility to communication between several legacy systems thank to PEtALS.







Schema : PEtALS and Legacy System Interoperability














Ruffié Adrien 09/03/2009

dimanche 18 janvier 2009

Auto JMS resources deployement in NetBeans 6.5


Well today, according to snatch my hair during two days, I provide this trick for you.


How auto deploy a JMS resources in NetBeans 6.5
1) First step, you need to create a "sun-resources.xml" in your tree project how you can see in the picture:

declare it in "Server Resources" directory.



2) Second step examine & understand this "sun-resources.xml" file:

You can see in first the xml declaration file, and the DTD which refers to sun-resources in
application server



I'am sorry for the '<' but
it is the only solution I have found to display the '<'



'<'xml? version="1.0" encoding="UTF-8"?
>

'<'!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd"


the root file in this xml is allow to declare several resources in the app server for you application. After you can see (for this exemple appserver : GlassFish V2):

'<'resources>
'<'admin-object-resource enabled="true" jndi-name="jms/GesResourcesQueue"
object-type="user" res-adapter="jmsra" res-type="javax.jms.Queue">

'<'description/>

'<'property name="Name" value="PhysicalQueue"/>

'<'/admin-object-resource>

'<'admin-object-resource enabled="true" jndi-name="jms/GesResourcesTopic"
object-type="user" res-adapter="jmsra" res-type="javax.jms.Topic">

'<'description/>

'<'property name="Name" value="PhysicalTopic"/>

'<'/admin-object-resource>

In this first section you declare two admin object resource the first is a "javax.jms.Queue" (type of the administred resource), you can enabled or disabled it on server with "enabled=true/false" attribute, you need to give a jndi-name for you resource (for referenced it on the JNDI context of your server) here jndi-name="jms/GesResourcesQueue".

After you need to specify the type of this object here it's a "user" type object and to finish you need to specify the "resource-adapter" here "jmsra" that integrate this Queue to your application server, by means of the standard Java Connector Architecture (JCA).

Now this you Message Queue JMS resource adapter is plugged into your application server, an application deployed in your application server can use this Message Queue to send and receive JMS message.

And to finish you can watch the this field represent the object of the physical destination JMS managed by the Sun Java System Message Queue brokers. this Queue named here "PhysicalQueue" is the system destination,
to which the messages came to an end (timeout) and not returned are redirected


The second admin-object-resource reference a "topic" instead a "queue", note that just the jndi-name change for reference the Topic created (JNDI unique name), and the type of this resource is "javax.jms.Topic" and the physical destination is now "PhysocalTopic"

'<'connector-resource enabled="true" jndi-name="jms/GesResourcesQueueFactory"
object-type="user" pool-name="jms/GesResourcesQueueFactoryPool">

'<'description/>

'<'/connector-resource>


'<'connector-resource enabled="true" jndi-name="jms/GesResourcesTopicFactory"
object-type="user" pool-name="jms/GesResourcesTopicFactoryPool">

'<'description/>

'<'/connector-resource>




In this section a connector resource is a program object that provides an application with a connection to an EIS. To create a connector resource, specify its JNDI name and its associated connection pool.

Some many parameters back exemple: object-type & enabled and jndi-name which specify the JNDI unique name of this connector resource here "jms/GesResourcesQueueFactory", it's reference the connector linked to the factory for the "jms/GesResourcesQueue" in the application server.

The pool-name reference the connection pool to the factory which specify the max of connection, timeout, validation ... on your factory.

The second connector-resource reference a connector for a topic factory & connection pool




'<'connector-connection-pool associate-with-thread="false"
connection-creation-retry-attempts="0"
connection-creation-retry-interval-in-seconds="10"
connection-definition-name="javax.jms.QueueConnectionFactory"
connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0"
fail-all-connections="false" idle-timeout-in-seconds="300"
is-connection-validation-required="false" lazy-connection-association="false"
lazy-connection-enlistment="false" match-connections="true"
max-connection-usage-count="0" max-pool-size="32"
max-wait-time-in-millis="60000" name="jms/GesResourcesQueueFactoryPool"
pool-resize-quantity="2" resource-adapter-name="jmsra" steady-pool-size="8"
validate-atmost-once-period-in-seconds="0"/>

'<'connector-connection-pool associate-with-thread="false"
connection-creation-retry-attempts="0"
connection-creation-retry-interval-in-seconds="10"
connection-definition-name="javax.jms.TopicConnectionFactory"
connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0"
fail-all-connections="false" idle-timeout-in-seconds="300"
is-connection-validation-required="false" lazy-connection-association="false"
lazy-connection-enlistment="false" match-connections="true"
max-connection-usage-count="0" max-pool-size="32"
max-wait-time-in-millis="60000" name="jms/GesResourcesTopicFactoryPool"
pool-resize-quantity="2" resource-adapter-name="jmsra" steady-pool-size="8"
validate-atmost-once-period-in-seconds="0"/>



This allow you to declare a connector for connection to these pool recently created.


Parameters description:

associate-with-thread : when the same thread needs a connection, it can reuse the connection already associated with this thread

connection-creation-retry-attempts: number of attempts to create a connection. "0" value means does not include a new attempt.

connection-creation-retry-interval-in-seconds: time interval between tests/try attempt to create a connection

connection-definition-name: the type of the connection-definition will be QueueConnectionFactory/TopicConnectionFactory

connection-leak-reclaim: a connection can be reused (seen in the pool) after the time limit leakage of the connection.

connection-leak-timeout-in-seconds: timeout for leakage of the connection

fail-all-connections: to close and restore all the connections in case of failure

idle-timeout-in-seconds: maximum time that a connection from the pool can remain inactive

is-connection-validation-requirement:
allows you to validate a connection before transmitting it to a container.

lazy-connection-association:
connections are associated so lazy when an operation is performed on them.

lazy-connection-enlistment: include a resource for the transaction only if it is effectively used in a method

match-connections:
toggle correspondence connections to the pool.

max-connexion-usage-count: connections are reused by the pool during the specified number of times before being closed

max-pool-size: maximum number of connections that can be created to respond to client requests

max-wait-time-in-millis: period during which the caller waits before a notice of termination of the connection to be sent.

name: the unique JNDI name of the connections pool of the connector

pool-resize-quantity: number of connections that must be removed upon expiration of the period of inactivity in the pool.

resource-adapter-name: the name of the resource adapter for this connections pool

steady-pool-size: minimum initial connections and managed in the pool

validate-atmost-once-period-in-seconds: interval during which a connection is validated once more




Now when you deploy your app server & you application you can see in logs (for Glassfish):

ADM1041 : Evénement envoyé à l'instance :[ResourceDeployEvent -- reference-added aor/jms/GesResourcesQueue]

CORE5004 : Ressource déployée : [aor:jms/GesResourcesQueue].

ADM1041 : Evénement envoyé à l'instance :[ResourceDeployEvent -- reference-added aor/jms/GesResourcesTopic]

CORE5004 : Ressource déployée : [aor:jms/GesResourcesTopic].

ADM1041 : Evénement envoyé à l'instance :[ResourceDeployEvent -- reference-added cr/jms/GesResourcesQueueFactory]

MQJMSRA_MF1101: setAddressList:NOT setting default value=localhost

MQJMSRA_MF1101: setPassword:NOT setting default value

MQJMSRA_MF1101: setUserName:NOT setting default value=guest

CORE5004 : Ressource déployée : [cr:jms/GesResourcesQueueFactory].

ADM1041 : Evénement envoyé à l'instance :[ResourceDeployEvent -- reference-added cr/jms/GesResourcesTopicFactory]

MQJMSRA_MF1101: setAddressList:NOT setting default value=localhost

MQJMSRA_MF1101: setPassword:NOT setting default value

MQJMSRA_MF1101: setUserName:NOT setting default value=guest

CORE5004 : Ressource déployée : [cr:jms/GesResourcesTopicFactory].



This trace/shows the success of the deployment of JMS resources on your application server

samedi 17 janvier 2009

welcome

Welcomme everybody,

in this blog I try to speak, present & demonstrate several issues/technical about architecture.
Many differents architectures increase & appear since few years, like SOA, architecture N tiers, distributed architecture,
Middleware Architecture, WSOA ...

I'am just a junior, but I like to learn, increase, develop' my skills, work on my own...
and I do not necessarily provided the best approach on all these points, I present just my point of view.

Good visit everybody.

Adryen