Tuesday, December 24, 2013

New website with responsive design

 
After a rebranding process, we have released a new website, with responsive design, implemented with Twitter Bootstrap and jQuery. 

A new logo has been designed, to simplify  and unify all products under the same image. 

The new website follows the thin server architecture (TSA) and single page application (SPA) principles, ensuring scalability through cloud deployment or a CDN, maximizing availability and increasing rendering performance (versus content managers such as Joomla, Drupal, Wordpress, etc). 

The responsive design provides portability of the user interface through most of the available browsers (Chrome, Firefox, IE, Safari,...) and multiple devices (smartphones, tablets, SmartTVs ... no matter if they are running Android, iOS, etc).

With some of the most beautiful Barcelona places as a background, this new corporate image is the first step to continue growing. 


Saturday, July 13, 2013

SUCODE SHOP

SUCODE software has released the lightest, open source, e-commerce tool

One of the main problems with existing e-commerce tools is that they are very big platforms for small companies. This means a lot of effort (economical resources) to obtain an online platform for selling. 

A lot of small companies just want to offer their products, show their prices, manage orders,... but they don't want to spend months adapting an enormous platform (even if it is open source). 

SUCODE shop is a single page (responsive designed) products grid which offers a simple way to checkout products. It has been developed with the following technologies: SimpleCartJS, H5BP/Initialzr, jQuery UI and a product grid layout. Because of it's simplicity, it has been released as open source and you can download source code from github




Friday, June 7, 2013

Services virtualization

SUCODE software has recently released a set of virtualized (open source) services which provide a scalable cloud execution environment, as well as a ready to use development environment to help in the software engineering process. 

Virtualization has increased (and simplified) horizontal and vertical scalability, as well as portability, reliability  and availability of services. 

The added value comes from evaluating, selecting, installing and configuring the open source services over the most used virtualization hypervisors: VirtualBox and VMware

The services catalog covers the following areas: 
  • Support for development. The software development process can be extremely improved with support for source control management, packages repository management and continuous integration
    • Source control management has been virtualized for the two most extended types: centralized repository (Subversion) and distributed repository (Git). 
    • Packages repository management has been virtualized using Artifactory, which suits Maven, Ivy (Ant extension) and Gradle needs. 
    • Continuous integration has been virtualized using Jenkins (open source Hudson fork), which provides a full featured list of plug-ins for integration with other source analysis tools (Sonar, PMD, Checkstyle, FindBugs...). 
  • Project management. There are few (but quite good) open source tools to support project management. For maintainance, evolutive or corrective projects, Mantis Bug Tracker may be enough. It is implemented with PHP  (lightweight hosting)   On the other hand, a more complete tool for managing projects may be Redmine, which is implemented with Ruby. 
  • Content management systems (CMS)
    • MediaWiki allows collaborative edition of web contents (usually for private or internal company information, such as projects, configuration info, etc). It is implemented with PHP (lightweight hosting over a XAMPP server).
    • Joomla and Drupal are two of the most famous open source HTML content managers (both implemented with PHP). Joomla is strongly oriented to build dynamic websites, but Drupal is better oriented for building dynamic websites with functionality support (forms, etc). 
    • Alfresco is a content management system specially oriented to collaborative document edition (workflow for editing, reviewing, approving contents, etc). It is implemented with Java. 
    • Liferay is more than a content management system, it is implemented with Java and provides a portal for contents and applications (portlets). 
  • Cloud execution environment. A cloud execution environment is composed by a set of nodes of multiple types: 
    • Proxies/balancers. This kind of nodes allow proxying or balancing requests. They usually are the entry point to (or the first line of) a cloud environment. Two of the most extended software proxies/balancers are Apache Web Server (older, more complete, a reference implementation) and Nginx (newer, with better performance). 
    • Application Servers. Application servers are the responsible of managing the lifecycle of applications. For PHP language, a LAMPP server may be used. For Java, we must distinguish between a Servlet container, such as Tomcat (reference implementation), and an EJB and Servlet container, such as JBoss (open source and very complete, but property of RedHat). 
    • Database Management Systems. DBMS are the responsible of managing data, and we must distinguish between two great types: 
      • Relational databases: MySQL, PostgreSQL
      • NoSQL databases (better scalability under big data environment): MongoDB, CouchDB, Redis
    • CRM. One of the most complete and robust open source customer-relationship-manager is SugarCRM, which is implemented with PHP.  
    • ERP. One of the only open source enterprise-resource-planning is Dolibarr, which is implemented with PHP and is suitable for a little or medium company, but not for big companies (there is a gap here, because all the other available tools are not free). 
    • Scripting. This kind of nodes allow the execution of scripts in many programming languages: NodeJS, Python, Ruby, Groovy... They can implement services as well as an application server can do, but in a lighter way. 
    • Reporting. If we want to centralize reporting in an unique node within the cloud, we can provide a virtualized JasperReports server (implemented with Java),which is one of the most complete and robust open source tools for reporting. 
    • Business Intelligence. If we need to centralize business intelligence in an unique node within the cloud, we can provide a virtualized Pentaho instance (implemented with Java), which is one of the few open source business intelligence suites available. 
    • Message Oriented Middleware (MoM). This kind of virtualized nodes are responsible of message receive and delivery in a cloud environment. Two of the most complete, open source tools that implement multi-protocol message exchanges are Mirth (very common in Health environments, because it supports the HL7 protocol) and RabbitMQ

  • Monitoring. In a cloud environment, monitoring nodes are the responsible of control ling the health of other nodes (resources usage control):
    • Nagios. One of the first open source monitoring tools available for controlling infrastructure resources in a cloud environment. Offers a basic (poor) web interface. Requires agents for collecting data. 
    • Hyperic. This open source monitoring tool provides a better web interface than Nagios and provides a lot of plug-ins to integrate with additional tools. It is property of VMware and it is implemented with Java. Requires agents for collecting data. 
    • Observium. This open source monitoring tool provides a responsive web interface and monitors data from other cloud nodes using the SNMP protocol (lighter), something that makes Observium an agentless monitoring tool (only and SNMP daemon is needed in the monitored nodes). This tool is still in an early phase of development. 
    • JavaMelody. Despite JavaMelody is a library that intercepts and monitors requests within a Java Servlet container environment, it can also be configured in a single node within the cloud to act as a global data collector. 
You can find here some slides explaining in few words what the virtualized services offer. If you are interested in virtualizing your systems, you can contact us.