Monday, June 17, 2013

Oracle ADF and Apache JEMETER

I am doing some consulting work for the Kuwait University.
I am utilizing Jmeter to stress test their ADF application and used a demo prepared by Chris Muir

Once i ran the recorded scenario, I notice the following error at the Jdeveloper Console
<_restoreserializedview> 
java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:143)
at java.util.zip.GZIPInputStream.(GZIPInputStream.java:58)
at org.apache.myfaces.trinidadinternal.renderkit.core.CoreResponseStateManager._restoreSerializedView(CoreResponseStateManager.java:188)
at org.apache.myfaces.trinidadinternal.renderkit.core.CoreResponseStateManager.getTreeStructureToRestore(CoreResponseStateManager.java:130)
at org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:667)
etc ..



at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
لا يوجد هيكل ولا يوجد جذر
<_handleexception> ADF_FACES-60098:تلقت دورة حياة Faces استثناءات غير معالجة في المرحلة RESTORE_VIEW 1
javax.faces.application.ViewExpiredException: viewId:/untitled1.jsp - ADF_FACES-30107:انتهت صلاحية حالة عرض الصفحة. إعادة تحميل الصفحة.
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._restoreView(LifecycleImpl.java:751)


Go back to your Jmeter plan 
and check your HTTP requests and for each parameter that has javax.faces.ViewState, make sure that the value you type for that is  !${javax.faces.ViewState}.  Most probably , you have forgotten to add  the exclamation mark (!) at the beginning.
Yes, you need both  the exclamation mark the the dollar sign  

Ammar Sajdi

www.e-ammar.net 
www.realsoft-me.com

Wednesday, October 17, 2012

The C language dominates the programming languages arean

The number One programming language is the C language according to|TIOBE Programming Community index

Position
Oct 2012
Position
Oct 2011
Delta in PositionProgramming LanguageRatings
Oct 2012
Delta
Oct 2011
Status
12C19.822%+2.11%  A
21Java17.193%-0.72%  A
36Objective-C9.477%+3.23%  A
43C++9.260%+0.19%  A
55C#6.530%-0.19%  A
64PHP5.669%-1.15%  A
77(Visual) Basic5.120%+0.57%  A
88Python3.895%-0.05%  A
99Perl2.126%-0.31%  A
1011Ruby1.802%+0.28%  A
1110JavaScript1.261%-0.93%  A
1212Delphi/Object Pascal1.097%-0.01%  A
1313Lisp0.947%-0.08%  A
1418Pascal0.839%+0.12%  A
1516Lua0.728%-0.07%  A
1620Ada0.654%+0.04%  B
1715PL/SQL0.630%-0.27%  B
1825Visual Basic .NET0.599%+0.12%  A--
1921MATLAB0.591%+0.02%  B
2019Assembly0.568%-0.05%  B

The entire report can be found at 

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Ammar Sajdi

Sunday, October 14, 2012

From the Jewish Talmud




jaydi
September 26, 2012 at 3:24 am
(This is copied and the original in one of the response in the article 

US Preparing for a Post-Israel Middle East?

by Franklin Lamb

August 28, 2012


From the Jewish Talmud:
1) If a Jew is tempted to do evil he should go to a city where he is not known and do the evil there. –Moed Kattan 17a
2) If a heathen (Gentile) hits a Jew, the Gentile must be killed. Hitting a Jew is the same as hitting God. –Sanhedrin 58b
3) A Jew need not pay a Gentile (“Cuthean”) the wages owed him for work. –Sanhedrin 57a
4) If a Jew finds an object lost by a Gentile (“heathen”) it does not have to be returned.
-Baba Mezia 24a also in Baba Kamma 113b
5) When a Jew murders a Gentile (“Cuthean”), there will be no death penalty. What a Jew steals from a Gentile he may keep. –Sanhedrin 57a
6) Gentiles are outside the protection of the law and God has “exposed their money to Israel”. –Baba Kamma 37b
7) All Gentile children are animals. –Yebamoth 98a
8) Gentile girls are in a state of niddah (filth) from birth. –Abodah Zarah 36b
9) Only Jews are human (“Only ye are designated men”). –Baba Kattan 114a-114b
10) Jews may use lies (“subterfuges”) to circumvent a Gentile. –Baba Kamma 113a and two rabbis:
11) Rabbi Yitzhak Ginsburg, “We have to recognize that Jewish blood and the blood of a goy are not the same thing.” -NY Times, June 6, 1989
12) Rabbi Yaacov Perrin, “One million Arabs are not worth a Jewish fingernail.” -NY Daily News, Feb 28, 1994


Ammar Sajdi


www.realsoft-me.com
www.e-ammar.net

Beautiful skies of Amman


(This post was written a few years back, do not know why it is popping here)

How dare you blame me for being immensely indulged and madly in love with weather after you see the picture shown . This is how the skies of Amman looked like yesterday afternoon (this picture was taken by Issa, right above English school)

And if you look to the picture below, you will understand more. See the feeling is mutual. it is not a one-sided kind of relationship:)

Anyway, In the last 48Hrs, the Eastern Med witnessed the first real intense weather system that dumped a staggering 70 mm of rain in western areas of jordan. By the way, the real rain in Amman started at 9 PM night on Tuesday, exactly when people casted their last ballots and election centers where announced closed.

Taking about elections in Jordan, our company PALCO was in charge for the computer software infrastructure. The difficulty lies in the criticality and the size, where in one day, no errors are allowed , no power failure are allowed, no software glitches are allowed, and you need to have 4000 users simultaneously logged in hitting the database at a rate of around 50 transactions per second from all over Jordan. We had to maintain and support data entry through web interfaced accessed from around 1200 schools all around Jordan.

Two database in RAC configuration were taking the load, each server with 8 CPUs.
Around 8 application Server with Apache (the guy with the feather) installed served as HTTP server.

It was a record breaking stressful month with stress intensifying as the election date was approaching to finally reach a paramount on the day of election. The team had to be available for round the clock.

Anyway, it was real, it was fun , but it was NOT a real fun. The important things is that it ended in a way we hoped it would and we learned a lot. This is not the first time we support election software infrastructure, the first time was back in 1997.

And today, which is my favorite Thursday, we ended the week and the day at champions Latino night-Marriott.

Well i am preparing myself for one heck of a day! next Sunday in Damscus. The project delivery day!!!!

Crossing the Barrier



Last Friday OCT 12, 2012 marks an important day in my non-profession-related career, it is the day when I with my bicycling buddies crossed the 100 Km on my bicycle.  In fact, we covered the distance from Amman to Al-Azrak in around 4 cycling hours across the eastern part of the Jordanian desert with a great group of cyclists in great weather conditions.  The total distance was 117 Km!



Ammar Sajdi
www.realsoft-me.com
www.e-ammar.net

Sunday, September 02, 2012

How to answer any question

Hello

Part of my job in the past 20 years is to answer questions ,mainly Oracle database related questions.
Now i have found a way to answer any question in the world without having to work very hard

Scenario:
Somebody asks you a question , for example, somebody want to know about the capital of jordan

My answer is

http://www.lmgtfy.com/?q=capital+Jordan#

Try it out


Ammar
Sept 2, 2012

Monday, June 25, 2012

Profile for suggested ride On Friday June 28









Bicycle Ride

The route is basically from  Applied Science University (which we passed by last week), up to Abu Nussair, and down into Urdon High way northwards towards Jerash. In the Middle of Urdon high way, we take a right up to the mountains overlooking Baqa Camp.  We start a steep downhill country road towards a village called Massara. Then we go up again until we reached Bairain (which we know from last week). Now we will climb back to Applied Science University.  
Total distance 40Km
Total Altitude 1100 Meters

note: some stretches are really difficult.

Ammar Sajdi

Wednesday, October 05, 2011

Technically Speaking

Clarification of Oracle ADF State Management

By Ammar Sajdi

May 15, 2011


For the sake of this discussion, it will assumed that there are only two users accessing the application and only one application module available in the application module poolThe following is an attempt to clarify how exactly ADF manages application module pool.

No Activity

  • Application Module in unreferenced State
  • No Reference to any Client page in the Http Session














First User Sends a Request

  • At the beginning of the Request, a session references a Data Control object which in turns looks for an Application Module (AM) in the pool. It finds an unreferenced AM and grabs it for its use AM1 ;( An unreferenced AM is one that does not hold active content for any user session). During the request, the status of the AM is changed to BUSY and the AM instance contains User1 transaction information together with Current row information etc ..

  • At the End of the Request, AM1 is checked back to the Pool with AM states changed to Referenced (Or Managed). Note that the AM is back in the pool without constraints and is not tied to any specified session.


1)

  • User Sends another Request, Second user is still Idle

  1. The Data Control (which resides in the same user session) will again look for AM in the pool and since the pool uses session affinity algorithm, an attempt is made to return the same previous AM instance. The attempt will be successful, because no other session is competing for the AM in the pool. AM1 will be returned. Its status will again become Busy
  2. At the end of the request, AM1 is returned back to the pool in Managed state.

  • Second User Sends a Request

  1. At the beginning of the Request, the second user Data Control will try to grab AM1. AM1 is however in a managed state and is referenced by the first Session. Any attempt to over write the contents of AM1 shall jeopardize the first user transaction. Therefore, the AM pool management needs to make AM1 available to user2, but only after it recycles the contents of AM1. A process called passivation starts, in which AM1 contents are persisted into the Database or to an OS file. This is called a snapshot. After passivation is completed, AM1 is now in an UNREFERENCED State and at this moment, Session2 Data Control grabs AM1, changes it status to BUSY and becomes the active AM for user2.



  1. At the end of the request, the Data control in the second user session releases the AM back to the Pool in MANAGED state


  • First User Sends a Request

  1. When the first user sends another request, he/she should not be aware of the fact that AM1 now references a different user session. In order to make this completely transparent, the Pool Management will recycle AM1 again, after it persists AM1 state through passivation, it will carry out an activation process. This process reads User1 snapshot from the Persisted snapshot and back into AM1. AM1 now references User1 session and maintains its current transaction.



  1. 2 Finally, at the end of the request, the AM1 is released back to the application module waiting to serve another request. If the request is for the first user, the process continues without passivation/activation cycle. If on the other hand, the request is for the second user, user2 previous snapshot needs to be activated.


Notes:

Activation / passivation cycle does not take place at every request. (one exception is when failover is enabled). Otherwise, it only occurs when user requests far exceed the no of available AM.

There are parameter that gives you control over the AM in the pool. Like Max, min etc …

Note that in the above scenario , it neither of the users issues a submit or a rollback, while at the same time the contents of the transactions are maintained across several requests.

It is important to understand that whenever the session passivated, a JDBC database rollback is issued. This rollback is not related to the Application Module, your EO will remain intact. But you need to be careful about stored procedures that you executed with DML, or information posted to the database through POST_CHANGES operation.

When the session is passivated and then activated to another user, its JDBC connection remains with it. Therefore, any session information are lost. This is important when you design RLS, and that is why we need to set the context information at each PrepareSession event.

Tuesday, July 19, 2011

اذا بلينم فاستتروا

كان لازم يترجمها مثلا


















ammar sajdi -- july 19,2011
www.e-ammar.net

Saturday, April 09, 2011

Ernst And Young Jordan Entrepreneur of the Year


I have been nominated for the Ernest and Young Jordan Entrepreneur of the Year, 2011.
Today, there is an article at Al Ghad News paper


Ammar 9.4.2011


Fundamentals of Software Testing

Originally posted on jan , 23 2009, Published again on Sept,18,2024 extracted completely from    http://testingsoftware.blogspot.com/2005/1...