Tuesday, May 24, 2011

Actors in Scala


"An actor is any object with the capability to exchange messages with other actors."

See also Erlang and Akka - they both support Actor programming model.

The more I study Scala, the more I get enticed into it.
The BIG thing in future is parallel and asynchronous programming - and Java is still not very well equipped. Scala supports much better these paradigms.


OIM Oracle Identity Management

"automates user account provisioning, manage the entire user identity life cycle across all enterprise resources, introduces the industry's first declarative security framework"

OID Oracle Internet Directory

"is a LDAP v3 compliant directory with meta-directory capabilities. It is built on the industry leading Oracle database and is fully integrated into Oracle Fusion Middleware and Oracle Applications. "

OVD Oracle Virtual Directory

"Oracle Virtual Directory provides Internet and industry-standard LDAP and XML views of existing enterprise identity information, without synchronizing or moving data from its native locations. "

OIF Oracle Identity Federation

"Oracle Identity Federation is a complete, enterprise-level and carrier-grade solution for secure identity information exchange between partners."

OAM Oracle Access Manager

"combines identity management and access control services to provide centralized authentication, policy-based authorizations, and auditing "

OAAM Oracle Adaptive Access Manager

"allows organizations to prevent fraud and misuse by strengthening existing authentication flows, evaluating the risk of events as they happen and providing risk-based interdiction mechanisms such as multi-factor out-of-band authentication."

OIM Oracle Identity Manager

"automatically manages users' access privileges within enterprise IT resources."

OES Oracle Entitlements Server

"specify which users, groups, and/or roles can access application resources, allowing those roles to be dynamically resolved at runtime"

OSTS Oracle Security Token Service

"will become the hub for brokering trust and authentication in a typical enterprise deployment"

here a summary of the Identity Management and Security Oracle Products (thanks to Chris Johnson)

Sunday, May 22, 2011

Java EE 6

cool introduction on what is there on JEE6:


CDI 1.0 (here an overview)
JSF 2.0 (who cares...)
EJB 3.1
JPA 2.0
JAX-RS 1.1
Bean Validation 1.0

here http://vimeo.com/22109781 a cool presentation on using some JEE6 features in WebLogic

Here http://www.oracle.com/technetwork/middleware/weblogic/learnmore/weblogic-javaee6-webcasts-358613.html plenty of webcasts

Sunday, May 15, 2011

What is new in weblogic 10.3.5 ?

Read here to learn it

JPA 2.0 for Toplink (cool!)

some bugs fixes....

is that all :o( ?

here the Soa Suite release notes... I could not find what has actually changed since 10.3.4...

WLST and NodeManager

wls:/offline> nm()
Not connected to Node Manager

wls:/offline> startNodeManager()
Launching NodeManager ...
Node Manager starting in the background

wls:/offline> nmConnect('weblogic','weblogic1','localhost','5556','soadev','C:/Oracle2/Middleware/user_projects/domains/soadev','ssl')
Connecting to Node Manager ...
Successfully Connected to Node Manager.



start a server WITHOUT NodeManager:

see here http://download.oracle.com/docs/cd/E12840_01/wls/docs103/config_scripting/manage_servers.html

connect('weblogic', 'weblogic1', 't3://localhost:7001')


wls:/soadev/serverRuntime> ls()
dr-- ApplicationRuntimes
dr-- AsyncReplicationRuntime
dr-- ClusterRuntime
dr-- ConnectorServiceRuntime
dr-- DefaultExecuteQueueRuntime
dr-- EntityCacheCumulativeRuntime
dr-- EntityCacheCurrentStateRuntime
dr-- EntityCacheHistoricalRuntime
dr-- ExecuteQueueRuntimes
dr-- JDBCServiceRuntime
dr-- JMSRuntime
dr-- JTARuntime
dr-- JVMRuntime
dr-- JoltRuntime
dr-- LibraryRuntimes
dr-- LogBroadcasterRuntime
dr-- LogRuntime
dr-- MANAsyncReplicationRuntime
dr-- MANReplicationRuntime
dr-- MailSessionRuntimes
dr-- MaxThreadsConstraintRuntimes
dr-- MinThreadsConstraintRuntimes
dr-- PathServiceRuntime
dr-- PersistentStoreRuntimes
dr-- RequestClassRuntimes
dr-- SAFRuntime
dr-- SNMPAgentRuntime
dr-- ServerChannelRuntimes
dr-- ServerSecurityRuntime
dr-- ServerServices
dr-- SingleSignOnServicesRuntime
dr-- ThreadPoolRuntime
dr-- TimerRuntime
dr-- WANReplicationRuntime
dr-- WLDFRuntime
dr-- WTCRuntime
dr-- WebServerRuntimes
dr-- WorkManagerRuntimes
dr-- WseeClusterFrontEndRuntime
dr-- WseeWsrmRuntime

-r-- ActivationTime 1305484322463
-r-- AdminServer true
-r-- AdminServerHost [2001:0:5ef5:79fd:1c05:d557:ab21:abcd]
-r-- AdminServerListenPort 7001
-r-- AdminServerListenPortSecure false
-r-- AdministrationPort 9002
-r-- AdministrationPortEnabled false
-r-- AdministrationURL t3://[2001:0:5ef5:79fd:1c05:d557:ab21:abcd]:7001
-r-- AsyncReplicationRuntime null
-r-- ClusterRuntime null
-r-- CurrentDirectory C:\Oracle2\Middleware\user_p
-rw- CurrentMachine
-r-- DefaultExecuteQueueRuntime null
-r-- DefaultURL t3://[2001:0:5ef5:79fd:1c05:d557:ab21:abcd]:7001
-r-- EntityCacheCumulativeRuntime null
-r-- EntityCacheCurrentStateRuntime null
-r-- EntityCacheHistoricalRuntime null
-r-- HealthState Component:ServerRuntime,State:HEALTH_OK,MBean:AdminServer,ReasonCode:[]
-r-- JoltRuntime null
-r-- ListenAddress pierrepc/2001:0:5ef5:79fd:1c05:d557:ab21:abcd
-r-- ListenPort 7001
-r-- ListenPortEnabled true
-r-- MANAsyncReplicationRuntime null
-r-- MANReplicationRuntime null
-r-- MiddlewareHome C:\Oracle2\Middleware
-r-- Name AdminServer
-r-- OpenSocketsCurrentCount 1
-r-- OracleHome C:\Oracle2\Middleware
-rw- Parent null
-r-- PathServiceRuntime null
-r-- RestartRequired false
-r-- RestartsTotalCount 0
-r-- SSLListenAddress null
-r-- SSLListenPort 7002
-r-- SSLListenPortEnabled false
-r-- SocketsOpenedTotalCount 1
-r-- State RUNNING
-r-- StateVal 2
-r-- Type ServerRuntime
-r-- WANReplicationRuntime null
-r-- WLECConnectionServiceRuntime null
-r-- WeblogicHome C:\Oracle2\Middleware\wlserver_10.3
-r-- WeblogicVersion WebLogic Server Fri Dec 17 20:47:33 PST 2010 1384255
-r-- WseeClusterFrontEndRuntime null

-r-x addRequestClassRuntime Boolean : WebLogicMBean(weblogic.management.runtime.RequestClassRuntimeMBean)
-r-x forceShutdown Void :
-r-x forceSuspend Void :
-r-x getIPv4URL String : String(protocol)
-r-x getIPv6URL String : String(protocol)
-r-x getServerChannel java.net.InetSocketAddress : String(protocol)
-r-x getURL String : String(protocol)
-r-x preDeregister Void :
-r-x restartSSLChannels Void :
-r-x resume Void :
-r-x shutdown Void :
-r-x shutdown Void : Integer(timeout),Boolean(ignoreSessions)
-r-x start Void :
-r-x suspend Void :
-r-x suspend Void : Integer(timeout),Boolean(ignoreSessions)

Saturday, May 14, 2011

Oracle ACE

It's a long way to become a Oracle ACE. See here the program:

A good way to become Oracle ACE is to accumulate plenty of points on the Oracle Forums, as indicated here:

whenever you help someone on the forum, he may grant you 5 or 10 points (many don't :o( ).

I am celebrating today my JOURNEYMANship.... a first step hopefully towards Oracle ACEship, perhaps in 5 years time!

Wednesday, May 11, 2011

How to Patch Weblogic 11g

these XBeon people are awesome, very professional!

How to explore WebLogic internal LDAP with a LDAP browser

Download http://jxplorer.org/

Enter a password to protect access to LDAP:
(click on the domain/security/Embedded LDAP and enter credential/confirm credential)
The username associated is "Admin".
My domain is "soadev".

Enter these values in JXplorer (replace soadev with your own domain name):

here is what you get:

Sunday, May 8, 2011

Randy Shoup on Ebay Architecture

impressive presentation, excellent slides,
I wish Randy wrote a book on his experience in EBay:


here the slides in PDF

in this presentation he repeats mostly the same things but going more in technical depth:


here the slides.

here are the mantras:
- partition everything, segmenting in functional areas
- use abstractions
- no client side DB transactions
- everything stateless
- parallelize searches (split/aggregate)
- asynchronous everywhere, with "message dispatch" and "periodic batch"
- automate everything - configuration and behaviour
- proactively detect failures
- all changes to code/schema should be "undoneable"
- code and features are centrally controlled
- when sh*t happens, have contingency plans and restore things gradually

Friday, May 6, 2011

SOA 100 Questions


On the whole I found this book more useful for managers/ivory_tower_architects than for developers. The amount of repetitions of well known concepts is disturbing, for instance the word "Flexibility" is repeated 116 times in 267 pages; "Reuse" 178 times, "Integration" 166 times, "infrastructure" 266 times...governance 317 times, SOA 1678 times!!!!

Things to retain:
a Service should be: Stateless, Discoverable, Self-describing, Composable, Loosely coupled, Governed by policy, Independent location language and protocol, Coarse-grained, possibly Asynchronous

OSIMM : http://en.wikipedia.org/wiki/OSIMM offers a benchmark to evaluate the SOA Maturity Level of your company.

Read the famous IBM article on SIMM.

This article on SOA is also worth reading.