Posts

Showing posts with the label software

Software Architecture Modelling Using C4

Image
UML appears to be dying in the light of the Agile development movement. working software over comprehensive documentation Many have wrongly interpreted this to mean no documentation. I recently read up C4 model for software architecture that describes the software architecture of a system from different depth & perspectives and for a different audience. The author promotes the use of a common vocabulary to describe software architecture using simple-to-understand diagrams. I attempt to do similar in this post using the same case study as that of the C4 article. The differences are: I do not wish to go into  Class (the 4th C) as that requires too much implementation details I replace the 4th C with Concept as I personally find the Conceptual model more relevant and important in appreciating the business domain.   Using Astah , I figured out how I can model the 4C software architecture efficiently using UML. Mind-Mapping I started with a Mind...

Microsoft CRM Main Concepts & Relationships

Image
I came across MS CRM while searching for a solution for leads management. In the process of trying to appreciate the main concepts and relationships as well as a basic gap analysis against our requirements, I created a set of UML class diagrams to document my understanding. The following are the main concepts (or entities, according to CRM’s nomenclature): Main CRM entities Sales Force entities Sales Person entities Activity entities Teaming entities Campaign entities Main CRM entities Sales Force entities Sales Person entities Activity entities Teaming entities Campaign entities Web References Some useful links for read-up: http://crmdynamo.com/2008/06/crm-40-concepts-what-are-leads-contacts-and-opportunities/ http://blogs.msdn.com/b/crm/archive/2007/08/27/leads-accounts-contacts-and-opportunities.aspx

General Flow for Web Access Management

Image
Three aspects are typically handled by Web Access Management software: protect resources authenticate users authorise users The flow is depicted in the following Activity Diagram:

Structure & Concepts in CA SiteMinder

Image
The following UML Class Diagram documents the main structural concepts in SiteMinder.

To Enable HTTP Compression in IIS

  Need to enable it in Web.Config as follows: < system.webServer > < httpCompression directory = "%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" > < scheme name = "gzip" dll = "%Windir%\system32\inetsrv\gzip.dll" /> < dynamicTypes > < add mimeType = "text/*" enabled = "true" /> < add mimeType = "message/*" enabled = "true" /> < add mimeType = "application/javascript" enabled = "true" /> < add mimeType = "*/*" enabled = "false" /> </ dynamicTypes > < staticTypes > < add mimeType = "text/*" enabled = "true" /> < add mimeType = "message/*" enabled = "true" /> < add mimeType = "application/javascript" enabled = "true" /> < add mimeType = "*/*...

Oracle WebLogic Class Loader Hierarchy

The detailed order for WebLogic class loading in top-down hierarchy follows: System Classloader WebLogic implementation classes Classes in the system classpath PRE_CLASSPATH and EXT_PRE_CLASSPATH Domain Classloader classes in the domain directory's lib folder Application Classloader Java EE shared libraries referenced in weblogic-application.xml Modules defined in the application Libraries from Java EE library Libraries from /APP-INF/lib Web Classloader Java EE shared libraries referenced in weblogic.xml Classes in WEB-INF/classes Libraries in WEB-INF/lib WebLogic 10.3.3 allows for the Application to intercept the the System classloader. This is required for loading alternative versions of application libraries such as the Xerces and Ant. Doing so allows for the lower-level classloader (e.g. Web) to load classes/ libraries before the ones typically loaded by the System classloader. In order to do this, the FilteringClassLoader mechanism – a classloa...

Oracle JDBC Driver Connection Strings

Need to keep these handy. At the same time, this site is lovely ( http://www.connectionstrings.com/ ) for accessing Databases (like Oracle) from .NET. For OCI (or Type 2) drivers: jdbc:oracle:oci:@ TNS_ALIAS jdbc:oracle:oci:@ <HOST> :1521: <SID> jdbc:oracle:oci@// host: 1521/ service_name jdbc:oracle:oci:@(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP) (HOST= cluster_alias ) (PORT=1521)) (CONNECT_DATA=(SERVICE_NAME= service_name ))) jdbc:oracle:oci:@(DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST= host1 )(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST= host2 )(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME= service_name ))) For Thin (or Type 4) drivers: jdbc:oracle:thin: username / password @// host: 1521/ service_name jdbc:oracle:thin@// host: 1521/ service_name jdbc:oracle:thin@// cluster-alias:port / service_name jdbc:oracle:thin:@ <HOST> :1521: <SID> jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP) (HOST= cluster_alias ) (PORT=1521)) (CONNECT...

HTTP Testing

I've been using Fiddler ( http://www.fiddler2.com/ ) for sometime now. It attaches to the web browser and intercepts browser requests and reponses. Fiddler is very useful for inspecting and debugging HTTP roundtrips. Recently, I found something to supplement Fiddler. Stresstimlus (( http://stresstimulus.stimulustechnology.com/ ) is useful for HTTP load testing together with Fiddler.

Article: Estimation Toolkit

I chanced upon an article on agile estimation that I read with interest in InfoQ. Many of the techniques are not new with the exception of the WAG generator. I find such estimation techniques to be very useful even if the subject matter is not software-related. Check out InfoQ: Estimation Toolkit

I love this...

Image
Software is hard by Honza