Application Architecture

Towards Blazor

Need for Single Page Apps Before we delve into what Blazor is and how you can use it for your potential development needs, it will be useful to understand what Single Page Applications (SPA) are and its scope. SPA or Single Page Applications is a web development technique which was coined and recognized as a…

.NET

Building Razor Page Web app. in .NetCore

ASP.NETCore Razor pages and ASP.NETCore MVC are both server rendered / server based frameworks for building web apps with .NET. In both techniques/approaches, we use Razor template engine to create UI/view components and processing logic that runs on the server and serves the html content back. Original razor page technique is/was developed to fit single…

Architecture

Importance of Software Architecture

Architecture is the blueprint of any physical structure. It defines the basic design principle or building style used for construction based on the need, cost, quality, time, scalability, security, reliability, and risk aversion. Similarly, Software Architecture simply defines the blueprint or the basic design style in which the software is built to satisfy the customer…

Linux Server Hardening
All Articles

Linux Server Hardening

Below is an example check list for Linux server hardening – All ports except SSH, http is blocked. On some of the servers, DNS and SMTP ports are open for name resolution and mail sending purposes. We have hardened the kernel to disable all the unnecessary services. This has been done at the kernel level…

All Articles

Simple HTTP log analyzer

Here is a simple light weight HTTP analyzer written in PHP. I wrote this to brush up my skills writing schedulers for a typical LAMP stack. Nothing fancy, there are more things to implement on detecting malicious requests, but this will get you started – <?php /** //Simple http log parser and report generation script…

All Articles

MVC Architecture

MVC architecture has been in place since past 4 decades or so when GUI (Graphical Use Interfaces) started to be used widely. The idea is simple – to implement separation of concerns.  Plainly put, to separate 1) presentation (UI) 2) user interactions and 3) underlying data and logic/behavior. It might be easy to build a web…

All Articles

Using Extension Methods in C#

Extension methods are a way to add methods to a class without changing its source code or adding it into a derived class. Creating extension methods example Define extension method – public static class StringExtensions     {         public static string Reduce(this String str, int numOfWords)         {             if (numOfWords <= 0)                 return str;             var numWords = str.Split(‘ ‘);             if (numOfWords >= numWords.Length)                 return str;             return String.Join(” “, numWords.Take(numOfWords));         }     } Shorten is an extension class on the String class. Adding as above, we were able…

All Articles

C# Events and Delegates

We use events and delegates to extend applications and to implement loose coupling. Rather than adding various method calls within an implementation and then recompiling the class, we publish the need to call a set of methods as an event from the class that will invoke those methods (publisher). The publisher will thus define the delegate which will act…

All Articles

Using C# Delegates

  Delegates is a way to support addition of multiple features (eg: methods) to a framework without the need to recompile the core class that uses these methods. Delegate is a reference to a function/s and is itself an object (derived from MulticastDelegate) that knows how to call a method or group of methods. The…

All Articles

Preferred Multithreading in C# ASP.NET

Parallel execution has been one of the core techniques of programming languages that enables and stabilizes the heavy orchestrated flow of information across information management systems. All Object Oriented Programming languages provides couple different ways to implement this to function smoothly under heavy and stressful load 🙂 A better way was introduced in C# which…

All Articles

Software Project Size

Software Project Size is of great importance since it determines the level of management controls and the types of tools and technologies required for a software project. Accordingly, software projects are classified into 6 major categories as follows (this basic yard stick is used in all of the diversified software development and project management methodologies)…

Software Engineering
All Articles

Software Engineering then and now

Software Engineering is and will be the backbone and driving force behind the technological advancements that we enjoy and that will lead us to greater realms of information and knowledge management. Its good for us to refresh our basics and foundations. Software Engineering is a discipline which was conceptualized, developed and is constantly reviewed for…

All Articles

A typical DB2 DB config

Below is a tuned DB config for a heavily loaded workflow application – [db2inst1@intranet db2inst1]$ db2 get db cfg for wf Database Configuration for Database wf Database configuration release level                    = 0x0900 Database release level                                  = 0x0900 Database territory                                      = US Database code page                                      = 819 Database code set                                       = ISO8859-1 Database country code                                   =…

All Articles

Sample Linux server (web centric) back up script in PERL

Below is a sample, detailed, PERL script for backing up your web centric Linux server. It includes ways to creating tgz of required areas, pushing them to magnetic tapes, other backup servers and even on to desktops –   Code:   #!/usr/bin/perl use POSIX qw(strftime);   umask 0000;  #####################################################  # This Program is a custom…

Server Synchronization Technology for a Distributed server architecture
All Articles

Paper – Server Synchronization Technology for a Distributed server architecture (DSA)

Requirement: Company xyz has now decided to extend the current system as distributed server architecture, expanding over 46 locations. There will be a central server which will be running from xyz HQ. There will 46 independent host severs running at various locations across the nation, which will be loaded with product management software. These independent…

Web application architecture
All Articles

Sample (cheap) Web application architecture

A sample customized web application architecture is as shown below – As shown above, all the three tiers of the web server architecture, namely database server, business logic and presentation, are represented. The Apache web server, PHP engine, Database drivers and other utilities are closely compiled so as to improve speed and performance. The database…

All Articles

What is the backbone of SOA connectivity?

This is a core question that we need to ask when we talk about SOA (Service oriented architecture). SOA connects enterprise components within and outside by easy integration, coordination and loosely coupled processes that can be coupled easily. The main theme that comes up when the number of interacting components increases is the complex messaging…

All Articles

Which REST framework should I use

There are multiple Java based REST frameworks that is use today. Some of the top players are as below –                 1. Reslet – http://www.restlet.org/                 2. Apache CXF – http://cxf.apache.org/ ,  http://cxf.apache.org/docs/jax-rs.html, http://jax-ws.java.net/2.2.7/docs/                 3. JAX-RS Reference implementation – Jersey – http://jersey.java.net/                 All of the above frameworks supports J2EE resident Webservice API for…

All Articles

Information Architecture for a web site – Sample Web site Concept Draft

XYZ Company Web Site Concept Draft “Becoming industry’s premier outsourcing solution for managed care services” Overview For the past decade, xyz.coom (fictitious) has been the major online presence for XYZ Company for serving the online needs of its customers as well as exhibiting its capabilities and services to the industry. XYZ Company’s core strategy is to continue generating…

All Articles

Strategic alignment of IT resources – A case study in Grocery industry (Part 1)

Strategic Alignment of IT Resources Grocery Industry Kathleen Chan, Deepesh Joseph, Raymond Jones, Paul Walleck   Introduction  To investigate how and why grocery companies are aligning their information and communication resources (ICT?s) (hardware, software, networks, databases, service offerings, processes, and portal layers) around a focal strategy.  Grocery Industry Introduction • NAICS 445110: Supermarkets and Other Grocery…

All Articles

Where are federal IT initiatives heading – Success or Failure – Lessons learned

GAO Cost Estimating and Assessment Guide is very extensive and gives us clear details of federal IT initiatives. The guide, together with OMB circular and IT dashboard web site gave some important hints towards how concerned and vigilant is US government in reviewing and evaluating Federal IT projects. The Cost estimating guide highlights customized methods…

All Articles

Is there a conflict between the support of individual rights and the use of e-government for transformational purposes? Why or why not?

Based on my reflection on E-Governance reference materials and experience, I am concluding that e-government initiatives cannot be truly transformational unless the socio-political environment is favorable and open-minded to bring about highly participatory democracy with high level of citizen involvement through innovative technology usage. Two forces are in play that hinders transformation – narrow mindedness…

All Articles

Process Control and Process Improvement

Process Management has its relevance when managers begin to conceptualize business activities as interdependent processes instead of functions and tasks. The basic requirement towards effective process management is IT enabled business process automation, usually an outcome of a reengineering task. For the processes to accomplish the set goals, we need to set various standards of…

All Articles

Adopting "Systems View" while Process Improvement

Systems view refers to analyzing a problem situation as a system of interdependent processes that exchange input and output. This view helps to identify the important processes and their relationships as far as maximizing the organizational efficiency and goal achievement is concerned. This leads to the main principle of process improvement which is to emphasize…

All Articles

Future Trends in Enterprise Architecture

1. Introduction Enterprise Architecture (EA) has been in practice since last 3 decades and it is considered as the key enabler of Enterprise business success through effective alignment of business and IT. EA is an interesting concept and is subjected to constant research and development to cater to varying needs of complex and evolving business…

All Articles

Motivation studies indicate that not all people are motivated by the same factors or rewards

Motivation is a very important psychological driving force that every individual require to complete an effort. An effort well done, leads to better performance and due satisfaction of one’s unfulfilled need. As we see from Maslow’s need hierarchy, this unfulfilled need belongs to various categories from physical (lower order) to mental (higher order) (William C.,…