Tuesday, January 19, 2010

Pursuing the IASA Foundation level certification.

The IASA Foundation Certification (CITA-Foundation) is the first level of four in the IASA IT Architect Certification program. 


In order to obtain the title of IASA Foundation Architect one must learn the Foundation Core Skills (which are the key distinguishing factor for all IT Architects) and the Foundation Supporting Skills (which are the key survival factor for all IT Architects). 


These two groups of skills are represented in five pillars:
  • Business Technology Strategy
  • Design
  • Quality Attributes
  • IT Environment
  • Human Dynamics

These pillars represent and contain a set of skills that must be assimilated and learned.


My experience as a BizTalk Developer has lay some ground as a "enthusiast architect" so I can take advantage of already learned concepts and skills to make the learning process much easier.


So... here we go. I hope to finish blogging about these pillars before June so I can take the exame... otherwise.. I'll have to take the in-classroom classes.


- T

Tuesday, June 16, 2009

SAP .NET Connector in BizTalk 2006 error

Today i ran into this error: http://blogs.msdn.com/benjguin/archive/2007/01/14/sap-net-connector-must-be-installed-for-all-users.aspx

It seems that i had to reinstall the SAP .NET Connector using this command in order to make it work.

Tuesday, October 14, 2008

Message Creation Performance in BizTalk 2006

If you ever wondered which method takes more time or cost more when creating messages in BizTalk 2006... well this post will answer your question.

http://www.sabratech.co.uk/blogs/yossidahan/2008/10/fun-with-message-creation-in-biztalk.html

Thanks to Yossi Dahan for taking time to do these type of tests :D

Tuesday, August 26, 2008

Installing Team Foundation Server Workgroup Edition and some gotchas

Ok, this is how I did it. I downloaded the latest documentation for the TFS 2005. Then I read the installation requirements and I follow up the check list but with some things different.

1. After installing MS SQL 2005, I installed the SP2 for MS SQL 2005. There is a requirement for SQL 2005. The documentation indicates that you should install SQL 2005 and then install the Hot Fix AS2005-KB914595-x86-ENU.exe that it's included inside the TFS media. I did not do this. Instead I installed the SP2 for MS SQL 2005. You cannot install this hot fix on a MS SQL 2005 with SP2 on it.

What I found is that this hot fix is included inside SP1 for MS SQL 2005 (http://support.microsoft.com/kb/913090/en-us).

914595 (http://support.microsoft.com/kb/914595/)
FIX: Dimension processing may fail, and you may receive an error message in SQL Server 2005 Analysis Services.

And in a closer look to this article we will find the following sentence:

"Microsoft distributes Microsoft SQL Server 2005 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2005 fix release."

2. There is another requirement for the .NET Framework 2.0. The documentation indicates that you have to install a Hot Fix. The hot fix KB913393 for Microsoft .NET Framework 2.0 fixes the following issues:

  • Ability to Transmit files for fileSize > 2GB
  • Fix the memory allocation issue related to HttpResponse.Flush()

I did not do this. Instead, I applied the SP1 for .NET Framework 2.0. What I now is that the SP1 for .NET Framework 2.0 fixes this problem. You will find the information in Microsoft's support article "Problems that are fixed in the .NET Framework 2.0 Service Pack 1" (http://support.microsoft.com/kb/945757).

926776 (http://support.microsoft.com/kb/926776/) A hotfix rollup package is available that resolves the problems that are described in KB articles 913297, 913393, 918995, and 924895

3. Installing the TFS. I got a warning related that the CPU power was not enough for TFS. Current CPU is 1.87Ghz. Requirement is 2.20Ghz. Let's see if this is a really show stopper. We have created only 2 service accounts for TFS installation: TFSService and TFSReports. The TFSSetup account is for installing all the software (required and TFS itself), but this account could be any domain account with Administration role over the server. So my account is an administrator of this machine. In a "nice to have" scenario it would be beneficial to have a TFSSetup account because in that way, if nay modification is needed over the TFS, we won't have to rely in a specific person. Instead of that we will only need the TFSSetup password or someone who knows it.

4. Next step, Install TFS SP1. After installing TFS, I found some articles that describe some workarounds for some issues you may find when trying to install TFS SP1. Before installing SP1 we will need to install a hotfix (KB919156) to avoid database corruption when trying to install TFS SP1 because of concurrent access from users and MS SQL itself when installing this SP1. So, this hotfix is a MUST. You can get that hotfix here: http://support.microsoft.com/kb/919156.

Further reading...

This article http://blogs.msdn.com/dglover/archive/2006/12/18/upgrading-to-team-foundation-server-sp1-workgroup-version-and-a-gotcha.aspx describe the "28002 Error Unknown". This happens when you have all 5 users capped on your TFS Workgroup and you are trying to install the hotfix KB919156.

This post at MSDN forums discuss working on a client with VS2005 with SP1 on a TFS with no SP1 (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1035910&SiteID=1). It should work without problems.... but play it safe and upgrade your TSF to SP1 in proper order.

Enjoy!

Tuesday, July 3, 2007

CCC-cache init failed on Virtual PC Windows XP

This error is really weird....
I have a Virtual PC with Windows XP SP2 and all the hot fixes applied on it. I installed VPN Client v4.8 from Cisco because I needed to access the SAP server at work from my network home. I have a .NET windows application which access SAP using SAP .NET Connector 1.1. This application runs on this Virtual PC. Then... the horror... there is an error that occurs when I execute this application just the first time after rebooting this virtual pc. If I execute this application a second time, this error won't occur anymore but my application won't be able to connect to SAP.

I tried to re-install the SAP .NET Connector 1.1. Also I removed the VPN client software and tried to remove some windows hotfixes that were installed during that week, but without any success. Here is an screenshot of the error.











Tuesday, January 16, 2007

Visual Studio 2005 hangs up while compiling a Biztalk Project

Oh sorpresa.... al tratar de compilar mi solución (Build Solution) todo mi Visual Studio 2005 se congeló y dejó de responder, y además, el CPU usage subió al 100%. ¿Que fué lo que pasó si el día anterior todo estaba funcionando de maravilla? No sé... pero encontré varias soluciones:

1. Cierra la ventana de Output ya que se puede estar generando muchos outputs y esto puede ocacionar el problema (http://support.microsoft.com/default.aspx?scid=kb;EN-US;913432)

Esta solución arreglo mis problemas, no conseguí ningún hotfix pero cerrando la ventana fué suficiente.
y aparte hice lo siguiente:

1) change Copy Local property of [Schemas] reference in project [Orchestrations]from False to True
2) then change it from True to False
3) Save, Build, that's OK!


Otra manera de intentar arreglarlo es:
1. Export your VS IDE settings (Tools-->Import and Export Settings).
2. Run VS command Prompt. Type "devenv /setup", then press enter.
3. Type "devenv /ResetSettings" and then press enter.
4. Type "devenv" and then press enter. Wait for new settings to be created.
5. Re-Import your environment settings (Tools-->Import and Export Setting)
6. Open any solution and build. Whalla! CPU utilization disappears. =)

Enjoy :D

Tuesday, January 9, 2007

OMFG Visual Studio 2005 SP1 Painfull installation

Yep, bajé el Service Pack 1 para el Visual Studio 2005...
Yep, le dí doble click para instalarlo en mi Virtual Machine (W2k3 con 512mb RAM)...
Yep, me tomó 2 horas.... y tronó debido a que me faltaba espacio en disco...
Yep, tuve que mágicamente liberar 1GB extra de no sé donde para volverlo a ejecutar...
Yep, me tomó otras 2 horas mas instalarlo...

.... te odio Microsoft.... pero que le hacemos....

Si las molestias persisten... consulte este link.

Monday, January 8, 2007

How to create .NET Components / Assemblies with serialization requirements

Me topé con la necesidad de crear un componente que me ayudara a manipular un mensaje XML extraido desde SAP. Este componente recibiría de parametro el XML en string en una propiedad de mi componente y retornaría el un string del XML modificado.

Lo que he entendido hasta ahorita es que TODOS los componentes que uno programe para ser usados dentro de Biztalk deberán tener el atributo Serializable (esto es en VB.NET) al definir la clase:

<Serializable> _
Public Class MyClass


¿Pero que pasa si este componente está dentro de una orquestación transaccional?. Cuando Biztalk ejecuto la orquestación, verificará y enumerará los componentes dentro de ella. Si tu componente no tiene lo necesario para ser Serializado, tendrás un error en tiempo de ejecución, ya que Biztalk le solicitará a tu componente que se Serialize a si mismo cuando llegue el momento.

Para tratar con este requerimiento, encontré varias respuestas en internet:

1. Remueve todo lo que tenga que ver con serialización dentro de tu componente. El componente deberá ser invocado dentro de un Expresion Shape el cual deberá estar dentro de un Atomic Transacction, con esto evitarás que el Biztalk le solicite a tu componente que se serialize. Esta solución es mas útil cuando tienes que invocar componentes de negocio que ya fueron construídos por alguien mas.

2. Puedes implementar lo necesario para que tu componente simule la serialización. Esto no es un truco, sino realmente es como debería de hacerse con cada componente que diseñes para ser usado dentro de tu orquestación. Los pasos a seguir son: Utilizar el atributo Serializable en tu clase, implementar la interfaz ISerializable e implementar un constructor y una función especiales que Biztalk mandará a invocar.
Este es un ejemplo (en VB.NET)

Imports System.Runtime.Serialization
<Serializable> _
Public Class MyClass Implements ISerializable

'Constructors
Public Sub New()

End Sub

'Serialization Constructor
Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext)
End Sub

'Serialization Function
Public Overridable Sub GetObjectData(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext) Implements ISerializable.GetObjectData
End Sub
End Class


El constructor adicional con los dos parámetros será invocado por Biztalk al principio de la orquestacion como modo de verificación. La clase GetObjectData será invocada cuando se necesite des-serializar el objeto. Dentro de est

Para mas información acerca de este tema:

Serialization
Atomic Scope Abuse


Thursday, December 14, 2006

Preserving Encoding in a XML output (or BOM)

Encontré este artículo muy interesante y que me ha resuelto muchas dudas. Es respecto a como preservar el encoding cuando se hace un cambio de encoding (de UTF-8 a UTF-16 por ejemplo)

http://richardhallgren.com/blog/?p=44

Enjoy :D

Monday, December 11, 2006

Biztalk 2006 and SAP .NET Connector ... runtime or full?

Ok, una vez instalado el SQL y todo el Biztalk 2006, la receta es:

1. Instalar el SAP .NET Connector Runtime 2002
2. Instalar el SAP Front End.
3. Instalar el Biztalk SAP Adapter SP1


Despues puedes actualizar el SAP .NET Connector Runtime a la version 1.0.3

Recuerda que el SAP .NET Connector 2003 (no el runtime) requiere que TENGAS INSTALADO el Visual Studio 2003, y al parecer el wizard para la generacion de schemas de SAP del BTS 2006 tiene broncas o si no en tiempo de ejecución se necesita a fuerza el runtime. Yo recomiendo los anteriores pasos mencionados y que no se instale ningún Visual Studio en producción, mejor usa una máquina con el BTS 2006 + VS.NET 2005 + SAP .NET Runtime para desarrollo de soluciones de biztalk y por separado otra máquina con el VS.NET 2003 y el SAP .NET Connector 2.0 para cuando desees probar con código .net invocaciones directas a SAP para hacer tus pruebas atómicas con parámetros hardcodeados. Windows Forms es muy util cuando quieres probar como se comporta una función RFC o BAPIs.

NOTA: Hay ocaiones en las que la invocación a SAP truena debido a que le falta algo mas, intenta rebootear el servidor despues de cada instalación o instala el SAP Front End. Parece ser que el Biztalk SAP Adapter aun tiene dependencias con alguno de los componentes de este software.