Blogs

Software Engineer

A software engineer is much more than a programmer. He is more like a army general marshalling his troop of programmers to achieve a strategic goal.

A software engineer is not a programmer though the terms have been used to describe any person associated with computer software. Software engineering has also been confused with Computer science. Though a proper definition of a software engineer is elusive, an attempt can be made to enumerate his qualifications. It should be mentioned that there is no clear consensus to what software engineering actually means and several professional bodies, national and international have defined software engineering in different ways.


Software development life cycle or SDLC consists of many parts and programming is a part of it. Whereas software engineering would include design, development, testing implementation, reliability and maintenance of software systems.


A software engineer usually starts off his career in a firm as a programmer and moves up the ladder to assume position as a software architect or engineer. This is one of the reasons why students in the United States of America avoid software engineering degrees because of the fear of being displaced by cheap labor from third world countries. However, it is fallacy that the job of a software engineer can be displaced by low level programmers. This notion of vulnerability has most probably arisen due to the misunderstanding of the role which software engineer plays in SDLC or software development life cycle. The design and architecture of software is a more involved process than programming. With the advent of more complex computer applications, many of them straddling the globe, the role of a software engineer has become all the more critical. Design considerations and rigorous implementation with best engineering practices is required to drive software development. A thorough understanding of computer science combined with professional project management skills, high level of mathematical and analytical ability is required to make a genuine software engineer. Mere capability to write a few hundred lines of code is insufficient to create a robust software application.


It is tempting to compare a software engineer with a civil engineer. A good civil engineer should have a good understanding of mechanics, mathematics and material science. A construction worker merely has to understand brick and mortar. Likewise the mortar of software is the code which programmers write whereas a software engineer is the civil engineer.


Software engineer designs and execute software projects providing reliability, maintainability and robustness. He has to keep in mind systems and processes and has to understand the underlying business logic before undertaking software projects. The job of a software engineer goes much beyond that of a software programmer.


By Jose L. Anton, CEO

GreenCode Technologies, Inc.

(954) 840-8068

IT Architecture best practices.

IT architecture best practices can often be termed as common sense. Keeping record of past IT projects and deriving best practices from it is a simple method to achieve robust IT architecture.

The question is often raised among the IT fraternity as to what should constitute IT architecture best practices. However, the answer is elusive and difficult. However there are a few processes which can make a good system work better though there is little one can do if faced with a bad legacy system.


The first step towards IT architecture best practices is design. It is imperative that enough thought is given to the vision and reason for IT implementation. Poor vision and purpose is the main reason why IT infrastructure fails to meet the practical requirements of an organization. In fact , fifty percent of the project time should be spent on design . Even before considering software or a system, it is necessary to understand the process flow. A thorough understanding of business processes is essential for IT architecture best practices . Somehow we seem to hurry through this process and then try to fix bugs as we go along the way. No doubt pressure from higher ups in the executive level , is mostly responsible . The new paradigm of fixing things as we go along seems to have given an impetuous to this hasty design process. However these are by no means to be construed as IT architecture best practices.


After creating carefully designed system architecture, we have to decide the tools, software and systems required to bring the design to fruition. Here again there is a need for understanding the present and future needs of the enterprise. A holistic view with cost, efficiency, ease of maintenance and operatability is necessary. There are many IT architectures which have a proven pedigree and can be considered.


The final bit of IT architecture best practices would consist of up gradation and portability. Though it is very difficult to predict the direction of technology in the field of IT , it should be robust enough to incorporate changes in business environment.


Ultimately IT architecture best practices means common sense. Small enterprises learn from past mistakes and word of mouth is sufficient to ensure future reliability. As far as big businesses are concerned, history is replete with examples where ad hoc decisions have led to mammoth wasteful expenditure. The blame is taken by the IT architect without analyzing the underlying issues leading to disasters. An excellent suggestion is to document the processes and steps taken while implementing large IT projects. Keeping record is among the best of IT architecture best practices. At least the blame can be shared by all instead of solely the IT department


By Jose L. Anton, CEO

GreenCode Technologies, Inc.

(954) 840-8068 

SOA or Service Oriented Architecture

SOA or Service Oriented Architecture is the new paradigm in software development. It is an attempt to unify different applications in a business environment.
 
SOA or Service Oriented Architecture is an attempt to unify diverse systems in an organization.  As time passes organization keep adding systems and processes. This means constant up gradation and need for connecting different applications within the business environment. An EDI or electronic data interchange can facilitate interaction between different systems but sometimes this can become quite messy. We should remember that presence of different systems in   an organization is unavoidable and envisaging an enterprise wide compatible system is utopian. The best we can do under the circumstances is to create an architecture which would seamlessly connect different business processes together.

SOA or Service Oriented Architecture is a group of services which are interlinked with each other. The best example of such architecture would be linking of salary accounts of employees and company profit and loss account. It is possible that the application for salary account was designed and operationalized a few years earlier. Subsequently a larger application for company account was developed. When there was a need to connect these two applications problems cropped up. How to unify two different databases? How to relate one application with another? These issues could be resolved in many different ways. SOA or Service Oriented Architecture can about to unify different systems and processes in a business environment. 

On a technical level, each application is considered as a service which can operate independently while at the same time they can be orchestrated to function as one unit. In fact the process of unifying different services in SOA or Service Oriented Architecture is called orchestration. It is in some ways like an object in object oriented programming but on a much larger scale where the units are many more. Another difference in SOA or Service Oriented Architecture is the non hierarchal structure as compared to a class hierarchy in OOP’s. It uses the web standard and therefore more flexible and easy for adaptation. At the same time real time transaction processing and computation can be challenging in an SOA approach to system integration. These issues can be addressed in different ways and with faster internet connections and better communication technology SOA or Service Oriented Architecture is fast becoming a standard in most enterprise applications.

Many software players are now offering SOA services and there is a strong movement towards coupling internal services with ready made off the shelf software services and create a viable, flexible and cost effective solution.
 

By Odalys E. Anton, VP Web/Application Development

GreenCode Technologies, Inc.

(954) 840-8068 

Emerging Trends in E-Commerce give boost to Better Technology

Data entry is expensive, and your data is the back bone of your business. Sales data is the biggest asset to manage the growth of a company. Many stores are those that you walk in and buy products, but the changing life style is changing it all. Physical money is slowly being replaced by Electronic money. And this time it’s on a bigger scale…

Today, more and more business suppliers are finding that their clients are demanding they offer on-line stores. These clients are not home customers, but other businesses. Online store calls for a responsibility of managing the data and using it in sync with your existing accounting system. If you can meet this demand with a Web store that integrates with your accounting system, then you’ve just effectively enlisted your customers to pay you to do their own order entry and invoicing. Take these examples into consideration:

  • A large company in California tells their supplier, “If we can’t place orders online, we will go elsewhere.” The supplier adds e-commerce capabilities to their system, and not only keeps its largest customer, but relieves their accounting staff of time-consuming order entry processing.
  • A medical supply company in the North West Territories provides its clients with an online store and cuts data entry costs by $100,000 per year.
  • A Vancouver supplier’s sales are up, but his inbound phone calls are down by 40 to 50 percent, reducing staff by one employee because his clients can now find, reprint, and check orders and invoices on-line.

E-commerce has been around for some time — so what’s driving this new trend? According to Ipsos Insight’s, over 72% of all households in North America are now online and want more and better ways to utilize the internet. Public acceptance of on-line shopping has shown 22% growth in 2005.

E-commerce is making an even bigger impact on the business-to-business world. IDC, a major supplier of market intelligence to the IT industry, has forecasted that global business-to-business transactions will exceed one trillion dollars in 2008. For this reason, smart businesses are looking to the Web to manage accounts receivable, increase customer service, and reduce the cost of data entry.

So how has e-commerce technology changed to meet this new demand? In the early days of the Internet, many companies implemented standalone Web stores that were separate from their accounting system. This meant managing inventory in both locations and hand-keying orders received from their Web store. These Web stores gave customers the ability to place orders online at their convenience, but often the orders were error-ridden because the Web site was out of date or the order was incorrectly re-keyed. The online stores often caused more problems than they solved—and certainly did not show much of an ROI.

In response, a new generation of Web stores has hit the market. These solutions are feature-rich, completely customizable, and are fully integrated to the accounting system. These solutions support both business-to-business and business-to-consumer sales. All pricing is managed from the inventory module using the appropriate price list for each client or client type. To change pricing on any item, you simply change it in the inventory module and the new price automatically flows to the Web store. The Web store also writes orders directly into the accounting system so there is no re-keying. And you reap the benefits because your customers do your data entry.

In addition, these new Web stores offer many customer self-service options. Accounts receivable and order history is displayed on the Web. Customers can re-order past or existing orders with a single click of their mouse. They can use their credit cards to pay online, too—either right during order entry or periodically by viewing all their open invoices.

By Alex Fishbone

GreenCode Technologies, Inc.

(954) 840-8068

How to make a good eNewsletter

There are lots of newsletters on the internet: eNewsletter are the growing form of communication and nowadays getting very common and web page newsletters are gaining popularity. However, a lot of newsletters (particularly eNewsletter) have serious problems:

  • They're long
  • They're not organized
  • They're difficult to read

Remember, an eNewsletter of any kind is most likely going to be viewed on a computer screen. That means a little space to read and users don't want to strain their eyes, nor their brains. So they need to be able to go through the eNewsletter and get to the important stuff right away. Most of them simply delete many of the newsletters they receive, even if they would be valuable, because they can't get a good idea of what's in it.

The two basic newsletters: HTML and plain text

eNewsletter are now becoming very common on the web, and increasingly are taking the place of plain text newsletters in emails. They tend to have a few graphics, hyperlinks, and more complicated layouts than those of plain text newsletters.

What not to do in a newsletter.

Here are few important points to avoid in HTML newsletters:

  1. Avoid sending long articles
  2. Don’t make it look like a newspaper
  3. Keep it focused
  4. Make it for adults not kids

Avoid sending long articles

Newsletter authors will have to use their understanding when it comes to article length. Long articles, more than a few hundred words, are basically useless. Most of the authors push their content out of the visible display area, and are hard to read.


Don’t make it look like a newspaper (Multicolumn layouts)

Just as on web sites, multicolumn layouts are hard to follow, and take a long time to open in some email programs. Make your article fit into one column, so make it short and sweet: it's a newsletter, not a newspaper.


Keep it focused

Unrelated, or out-of-context, links have no place in HTML newsletters. Most people frequently receive email newsletters that have line after line of links, trying to expose them to everything under the sun. That’s where they stop reading. Users have no need for that: a newsletter is not a website. Newsletter authors are better off inserting a context-sensitive link and gently guiding users to a website that incrementally exposes the reader to more relevant information.

Make it for adults not kids

Again, you have to use your understanding and judgment in deciding which images are useful and which aren't. A small logo might be fine, in addition to a relevant graph or pertinent photo. However, the total number of photos should not exceed 3-5. Images take a long time to load, especially in email clients.

What to do in a newsletter.

eNewsletter are more effective than plain text newsletters, and than paper newsletters. The interactivity afforded by hypertext is invaluable and allows newsletter authors trim their works and make them readable.

Here are some things to do in eNewsletter:

  1. Keep writing simple and to-the-point
  2. Use links extensively
  3. Use short human-generated summaries and tables of contents
  4. Use bulleted lists
  5. Use hierarchical elements

These guidelines are fairly straightforward, but important nonetheless. Like all online writing, newsletters should be simple and to-the-point. Consider how many emails or other snippets of text the user is likely to read in one day, and remember that they are going to want substance, and quickly.

By Alex Fishbone

GreenCode Technologies, Inc.

(954) 840-8068

Google Chrome? I like it.

 
Much has been written and said about this new browser in a matter of hours – from blaming it on the “browser’s war” (that has been out there since Netscape and IE), speeding up the fall of the Microsoft empire (already losing terrain because of the open source, but still with a lot of power) to being the substitute of operating systems (easier to say than to implement) – and if you haven’t tested it,  go for it ; here is what I saw:

  • Easy installation – without wanting to take over your computer
  • Clean and simple interface
  • It’s fast
  • Nice features
    • Task Manager – now you can see part of what’s going on back there
    • Independent threads for the tabs – don’t you hate your browser crashing? This is a nice solution
    • Drag/drop tabs – cool
    • Incognito – for the obvious reasons; but I don’t know how much corporate America will like this one
    • Shortcuts of the Google applications to your desktop or launch bar
    •  Bookmark bar
    •  Easy bookmarking
    •  Developer menu
    •  Most visited screen
  •  V8 (not the vegetables juice, but the virtual machine) – great job from Europe that takes java script to a new level
  • Logo –  futuristic, kind of like a robotic spacecraft or those spy robots in the sci-fi movies
Now, what others say and I agree:

  • Google wants to take over the world – all monopolies want to do that, check Microsoft for example
  • It has bugs – I like the idea that it was programmed by humans. It has a “Report bug or broken site …” menu  item
  • Lack of some features (like a command for e-mailing links or pages from the browser, a progress bar to show how much of a Web page has loaded, or some other extras) – Let’s suggest the development team what we would like this new browser to have 

On the other hand, I like welcoming a new browser to the party that creates more choices for the users and provides a better experience to those users; some programmers will have to test their apps in one more browser to ensure compatibility, but that’s not the concern here.

Chrome might stay or disappear, but – so far – I like it.

By Jose L. Anton, CEO

GreenCode Technologies, Inc.

(954) 840-8068 

How to become a successful Blogger.

 

Blogging is more than just writing on a topic. There is a lot of work involved starting from putting a post together and then promoting it after it has been published.

You have to be passionate about your topic. You should know the community and monitor over 20 related Blog feeds on a daily basis. You should be looking for conversations and comment threads that intersect with your company’s interests, monitoring news, industry buzz and specific bloggers that you regards as authorities to an audience that Blogger cares about.

You should also be watching for specific keywords. When you see a Blog post, comment thread, or something in the news that sparks the interest, you should write a Blog post about it or visits the respective Blog and leaves an insightful comment.

If you write a comment, your name and URL should be attached with a link, credit and visibility. If you write a post, you should cite (provide a hyperlink to) your sources, categorize it, add keyword tags, and publish. Automatically this then pings the social media search engines and alerts the people that have subscribed to your blog’s feed. The post is also picked up in the major search engines.

Before or after publishing, you also do some outreach to notify certain bloggers about the post and solicit their input. You should know your audience and therefore your comment or post addresses something that is more likely to generate attention and discussion.

The bloggers that you have reached out to, have now publicized the post’s existence to their audiences and it is attracting readership. People start to comment and you should stay engaged with the conversation until it has run its course.

Finally, the posts and ensuing threads stay online as content that can continue to draw attention in the future.

Success breads success. The more successful you are in Blogging efforts, the more people react and pickup on your stream of thinking. Practically speaking this creates a snowballing increase in readership and Blogger citations and all the other benefits of a successful social media strategy.

By Alex Fishbone

GreenCode Technologies, Inc.

(954) 840-8068

What is an application suite?

 

An application suite consists of applications such as a word processor, spreadsheet and presentation.

An application suite is one in which one single application package has a word processor, spreadsheet and presentation. There are many such application suites available in the market.

The most popular application suite is the Microsoft office suite. This has Microsoft word. Excel, PowerPoint and publisher in addition to calendar and a email application. Each of these applications can be purchased and installed separately or as one integrated suite. The main advantage of an Office suite is the ability to import projects from one to another. For example an excel sheet can be embedded or imported into a word document. This means that one need not reinvent the wheel again and again. If a excel sheet has been prepared earlier, it can be incorporated in many word programs. PowerPoint presentations can import complex excel sheets and provide interactivity.

Other application suites in the market are WordPerfect Office, Lotus SmartSuite, StarOffice, OpenOffice.org, Google Apps and graphics suite. OpenOffice is an application suite which is open source and free download. OpenOffice open source project is presently managed by Sun Microsystems .The same company offers StarOffice which is a paid version.

The latest offering from Google requires a special mention here. Google applications provide a common platform for managing documents, Presentations and a spread sheet online. This means can the applications can be accessed online. The salient point in Google apps is the sharing and collaboration which is possible in real time. Several people across the globe can work on a single document in real time, which is a revolution of sorts. The application is free for individuals which makes it a potential threat to Microsoft office suite. Lately Google has added an offline capability which again is a versatile tool which will increase its popularity. Another major advantage of Google apps is that the documents can be stored in various formats including word and excel. Google apps is platform independent which means everyone can access their apps without bothering about their system software or operating system.

OpenOffice.org is another nifty application suite which is available as a free download and capable of doing almost everything word can.

An application suite is a bundle of interoperable applications. The open source movement has introduced a variety of free application suites which are much more powerful than Microsoft Office suite. The capability to collaborate online in real time is a powerful feature introduced by Google. The application suite war is certainly heading for a climax in the near future.

By Jose L. Anton, CEO

GreenCode Technologies, Inc.

(954) 840-8068

Dimensional data modeling

 

Dimensional data modeling is used for offline analysis of data and is associated with data warehousing. There are two elements to real world modeling.

The level of abstraction in case of real time transactions which is also called on-line transaction processing is very high and granularity low. On the other hand, data warehousing demands a higher level of granularity which is required for extracting intelligence from a database. This is called dimensional data modeling. In this model, the information is extracted from database offline. For example, a sales transaction may have many dimensions. Sales data, price, quantity and discount are different aspects which may be captured by a dimensional data model.

The same data is stored differently for on-line transaction processing and for data warehousing purposes. Why should the same data be represented in different forms? It should be appreciated that in any information processing system we are dealing with different levels of abstraction. Data extraction and business intelligence require a higher level of information procession. This would generally not be possible in real time.

As regards the actual implementation of dimensional data model, it consists of fact tables and lookup tables. Fact tables connect to lookup tables. There may be many fact tables which are not related to each other. Each of these fact tables would have their respective lookup or attribute tables.

There are two ways in which a dimensional data model is represented. The star schema has a fact table at the center of the star with the attribute or lookup tables forming the different arms of the star. There can be many fact tables and associated lookup tables in a single dimensional data model.

The other implementation is called the snow flakes schema. One can imagine this to be a snow flake with each star point breaking up into numerous stars. This results in lower memory requirements and also improves granularity.

Dimensional data models are important for extracting business intelligence from databases. It forms an important concept in data warehousing. Its applications are many and particularly in sales and marketing. Tracking consumer preferences and providing useful insights into their behavior is the ultimate aim of creating dimensional data model. Implementation can vary depending upon the quality of granularity or detail which may be required from a particular business transaction. Essentially it is an offline model which compliments the on-line transaction processing model which is used for real time or on-line transactions.

By Odalys E. Anton, VP Web/Application Development

GreenCode Technologies, Inc.

(954) 840-8068

OLAP or on-line analytical processing is gaining momentum as the need for making sense out of the huge amount of data increases.

 

OLAP or On-line Analytical Processing technology has been around awhile.Lately, with the advent of social networking and Web 2.0 applications, raw data by itself has lost meaning. Conversion of raw data into useful information is taking up much of the effort in combination with collection, collation and gathering of data. OLAP by its very definition is a tool to present cogent and reliable information for management.

Most of the OLAP vendors are essentially operating in the database or data handling space. It is seen that the bigger players are consolidating on their strength by buying off niche OLAP players. The vendor scenario underwent a drastic overhaul with Oracle and SAP leading the way with the purchase of Hyperion Solutions and Business Objects respectively. What can be clearly observed is that major enterprise resource processing or ERP firms are eagerly lapping up the OLAP offering. Also relevant is the purchase of Cognos by IBM. Those in the know are aware that Cognos has been on the OLAP radar for quite a while and considered as a thought leader in this field.

OLAP has been used, with mixed success, in the consumer goods or FMCG and financial sectors. The availability of data is crucial to the implementation of OLAP. Data manipulation being the essence of OLAP tools, it must have multiple presentation options, which can be used by different groups by extracting relevant information from a single data set. This flexibility is important because groups within a single organization have different decision making roles, but essentially depend on the same dataset.

The action in the OLTP space has almost become frenetic, mostly because of the need to make sense out of zillions of bytes of data captured by modern day organizations. Customer relationship management (CRM) is dependent on data extraction capabilities of software. Information discovery and resultant customer retention and conversion strategy are closely interlinked. OLAP has therefore become critical to the entire marketing and sales effort. In fact, OLAP is important for business operations from the stand point of data analysis and the process of discovery.

It has been argued that OLAP is a data extraction process and acts as a middleware rather than a data collection tool. By far this assumption seems to be fair , though it is predicted that the entire data environment including data collection(database) , business intelligence(BI) , Enterprise resource planning(ERP) and data presentation ( front ends and web-sites) would all come together as one monolithic tool.

By Odalys Anton, VP Web/Application Development

GreenCode Technologies, Inc.

(954) 840-8068

Syndicate content