Monday, April 11, 2005

Another error from Biztalk (tweaking)...:((

Yesterday April 10th, 2005. I've been called to solve an error in the production biztalk server.
The symptoms was like this:
1. There's a client want to access an orchestration through web services, sometimes the request success and sometimes produce an error.
2. The error message found in event viewer was Biztalk fail to connect to BiztalkMsgBoxDb, general network error.

Looking through the error message in the eventviewer, it is somewhat same like the anoying ADO.NET error, that has many entries when you search in googles...:(.

So by then I pop up the sql query analyzer and log into SQL server, run the sp_who2 active, and what I saw was unbelievable....there are many connection from BiztalkServer and the operation was blocked by a Biztalk SQL Job...:O..(what the...).

The SQL Job run very long and blocked almost all the operation from BiztalkServer to the database. After make sure that if I kill the job will not affected another proccess, I kill the job, and suddenly all the error operation run smoothly ...(fiuh...:p).

To prevent the problem from reccuring in the future. I inspect all the Biztalk SQL job and I found it very interesting. Almost all the Biztalk SQL Job was scheduled to run every minutes, every days, from 12:00:00 PM to 11:59:59 AM, which means the Job will work on most of the company peak hours(08:00:00 AM - 11:30:00 AM). That's explained the result I found that the request before and after the peak hour to the orchestration web services usually success and request in the peak hours usually fail. I then rescheduled the affected jobs to run everyday, every minutes, at 12:00:00 PM to 05:00:00 AM

So, by then I realized that the Biztalk Installation was not provide us an environment that ready to run in production environment, we should tweaked/tuned/optimized it to run properly in the production.

Today April 11th, 2005. I started an optimization/tuning the Biztalk Server. I will try to write what I found and the optimization steps in another blog soon.

Sunday, March 27, 2005

HRD....Heck i will Ruin your Day

Reading at blog from one of my friend about Bagai Makan Buah Simalakama.......comparing to my own experience....this cartenz HRD is really ... may I say awfull.

I remembered when I first came to cartenz...., they put me to this gorgeus guest house....and I think ..ok ...this the right place I'm gonna stay in while I'm here...., but after 2 days...I've been told by HRD that my work had to be done in lowland. By that night I travelled to lowland to be placed in BaseCamp.

The HRD people tell me that ... after I arrived in basecamp, all I've got to do is just to report to the office, because they already arrange a place for me there..., well that's far from reallity...., shortly I came to the office for reporting to get a room for stay. All the office personel stunned, they told me that they never got any information from HRD about it....damn, it was 10:00 PM evening, where the heck should I stay the night in?.....

Luckily...I met an MIS employee (buchori) in that office...., I some kind of begging him to share his room just for the night.
The next day in MIS office ... I ran to the phone to told HRD about what happen....and without feel any guilty or say sorry...they said that for the day onward I will stay with buchori....damn...

From that day onward my relation with the cartenz HRD not going the way I expected, they seem do they job right when we already yell at their ears (if they got it).

I'm not the expert in HRD thing..., but I think the cartenz HRD is the worst of it's kind. If they can ruin your day they will love to do it. I never ran across any HRD in my previous company that as worst as here.

Wednesday, March 23, 2005

Biztalk WMI Core....not NTLM friendly?

Biztalk 2004 WMI Core classes provide one stop API to manage the Biztalk Server without have to worry about what database to connect, tables, etc.

Upon the use of Biztalk 2004 WMI classes, I found several things that I still haven't found the workaround, or maybe there are no workaroung...grrrr..:~.

The scenario is like this
1. Network authentication is NTLM
2. 1 Biztalk Server Machine only contain the biztalk server
3. 1 Database Server Machine which all the biztalk database reside.

The WMI classes will work fine if you execute it in the same machine with Biztalk Server, because biztalk WMI talks with database using connection that use SSPI which require an impersonation of the user who access it, and NTLM only support impersonation for 1 network hoop only, which means from the machine you access the WMI classes to biztalk machine to database server machine must consist max 2 machine.
So when you try access the wmi classes from another machine outside biztalk machine for this scenario...it will fail, because by then we have 2 network hoop, one for your machine to biztalk server, and one for biztalk server to database server.

To solve this issue, there's 2 options:
1. Change the network authentication to Kerberos, but you will stumbled on an arogant Network Administrator...that will say.."Heck no...,it will change the entire company's network"...ssshhh...Do these guys know what they talking about?...duh..:p
2. Change the database connection of the biztalk server so it won't use the SSPI, but where? again MSDN didn't have any clue about this...like they used too...:p.

About option 2, looks like I have to meet my best friend...the long black night in papua...to give you any answer for that...:((

Tuesday, March 22, 2005

objectIF rocks....

After play around for some weeks with objectIF (a product from microTOOL-www.microtool.de).
I found the tool was very usefull, and may I say they really know what they're doing.

It covers whole software development proccess, from requirement, design through implementation.

It has a use case diagram, description for requirement and the amazing mock up design for business analyst to do their job without having to know programming.

The class diagram was awesome also, it offer few design pattern and refactoring capability, rock on baby..:)

Code generation was simple and intuitif

I love the utility for publishing (Word, Web Publishing), makes it one stop tool for design and creating software artifacts.

And surprisingly they bundled it with an SRS (Software Requirement Specification) template which I found complete

The downside is a repeatedly got error when try to reverse engineering from gac and/or .net dll, perhaps maybe it's because my tool is personal edition which is a free version of the tool. Seems like the error is something to do with the Visual Studio .NET integration.

On and all, I feel the objectIF is a must have tool, and very rock solid in concept.

Deliverables

What the heck is the deliverables? Does licking ass, or lip selling to your boss about things you do not understand is deliverables?

Well let see what happen here in tpra
Manager --> Gen. Supt --> Supt --> Gen. Fore --> Fore

What does a Manager expect from Gen. Supt? Deliverables
What does a Gen. Supt expect from Supt? Deliverables
What does a Supt expect from Gen. Fore? Deliverables
What does a Gen. Fore expect from Fore? Deliverables

Now, we can see that deliverables is what you achieved in your line of work, and being notice by your super-ordinate, most of the time we should documented our work achievement by then clear up the accountabillity.

The question remains is Does your organization had a clear define deliverables for each level?