Stanfy - Crafting Custom Software Systems


Published on

Corporate presentation of Stanfy software development company

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Stanfy - Crafting Custom Software Systems

  1. 1. Crafting Custom Software Systems
  2. 2. <ul><li>Stanfy is a Software Outsourcing Company. We helps our customers in fields where standard, packaged software is not acceptable. </li></ul>Introduction <ul><li>Founded in 2005 </li></ul><ul><li>Stanfy was born inside the walls of the Kyiv Polytechnic Institute's Computer Science Department. </li></ul><ul><li>Located in Kyiv, Ukraine </li></ul><ul><li>Stanfy’s office located in the central part of the Kiyv, Ukraine. </li></ul><ul><li>Consists of java, flex, php, html developers </li></ul><ul><li>Stanfy’s team consists of java developers, flex developer s , java script developer s , php developers, Flex/HTML markup developer and off site designe r. </li></ul>
  3. 3. Software Outsourcing Services Stanfy provides the full cycle of software crafting services and helps to design, implement and deploy unique systems for custom business purpose. <ul><li>Software requirements specification </li></ul><ul><li>Business analyze, consulting, SRS development </li></ul><ul><li>Custom software development </li></ul><ul><li>Technologies, methodology, process </li></ul><ul><li>Monitoring and support </li></ul><ul><li>Monitoring, operative support, issue tracking </li></ul>
  4. 4. <ul><li>Stanfy provides the full cycle of software crafting services and helps to design, implement and deploy unique systems for custom business purpose. </li></ul><ul><li>Data model view </li></ul><ul><li>Data model view describes business entities and their relations </li></ul><ul><li>User flows view </li></ul><ul><li>User flows describe the logic of main use cases and navigation model of the system </li></ul><ul><li>Data flows view </li></ul><ul><li>Data flows view describes the logic of internal batch processing mechanisms </li></ul><ul><li>GUI screens design </li></ul><ul><li>GUI comps and usability aspects are designed at a software specification phase </li></ul>Requirements Specification
  5. 5. <ul><li>Software Development Process is organized of 3 main parts : technologies, methodology, process support tools. </li></ul><ul><li>We are trying to evolve each direction and have built a process on the optimal set of each components. </li></ul>Development <ul><li>Technologies </li></ul><ul><li>Server technologies, GUI technologies, external API </li></ul><ul><ul><li>web/application servers - Tomcat and JBoss </li></ul></ul><ul><ul><li>frameworks and APIs - Spring, Struts (Struts 2), Hibernate, Lucene, Velocity, ehCache, poi, axis, batik, fop etc. </li></ul></ul><ul><ul><li>GUI - Java Script, Flex </li></ul></ul><ul><ul><li>databases - Oracle, Mysql </li></ul></ul><ul><ul><li>external APIs and integrations </li></ul></ul><ul><li>Methodology </li></ul><ul><li>Approach, activities, roles </li></ul><ul><li>Process support tools </li></ul><ul><li>Version control system, build process, continues integration </li></ul>process support tools methodology technologies
  6. 6. Development - Technologies - Server <ul><li>Our projects are commonly based on the Spring+Hibernate+Struts core. This combination provides us with all needed underlying mechanisms, templates and tools for the Web 2.0 system infrastructure. </li></ul><ul><li>Spring is used for the automated configuration and wiring application objects. Based on the Inversion of Control and the Dependency Injection patterns it creates a flexible infrastructure for the objects management and gives ability to move a significant part of the objects' life cycle routines out of the sources to configuration files. </li></ul><ul><li>Spring wrappers are used for different utility tasks like batch processing with Quartz , lucene indexing , caching etc. Among with flexibility to switch between different implementations it also simplifies initialization and configuration of those. </li></ul><ul><li>Spring wrappers for the JPA are used as an annotation driven Object Relation Mapping technology . Hibernate is used as a JPA provider. It helps to hide the persistent data objects implementation essentially improving time needed to implement DAO (data access objects) layer. </li></ul><ul><li>Struts combines a set of presentation layer patterns like Model-View-Controller , Composite View etc. with the number of tools for creating View components. It gives us powerful techniques for the presentation layer code reuse and separation of the web and business logic components development. </li></ul>
  7. 7. Development - Technologies - GUI <ul><li>We use both Flex and Java Script approaches for GUI . The main decision making arguments here are balancing between interactivity of first and flexibility of second. </li></ul><ul><li>JavaScript with AJAX is more flexible technology while it has disadvantages in browsers support. Our JavaScript components incapsulate different ideas from Prototype, JQuery, Script Aculus libraries while trying to be as lightweight as possible to be more robust and have better performance. </li></ul><ul><li>Flex has more advantages then java script in meaning of cross browser compatibility and simplicity of creating different widgets and visual effects (Flex framework is itself includes a set of) thus gives ability to produce more complex and interactive GUIs quicker then on java script and become a better solution when java script flexibility is not needed </li></ul><ul><li>We use cairngorm framework for Flex, a set of another open source tools (like maps integration, spell checker etc.) as well as have a number of different components designed by ourselves. </li></ul>
  8. 8. <ul><li>We keep our projects integrated with modern internet services, social networks, instant messengers, payment systems, hosting environments and other public APIs and platforms. </li></ul><ul><li>Instant messaging (ICQ, GTalk, MSN, Yahoo, AIM, Twitter) </li></ul><ul><li>Web mailers (Yahoo, GMail, AOL, Hotmail) </li></ul><ul><li>Social networks (Facebook, MySpace, hi5) </li></ul><ul><li>Payment systems (PayPal, 2checkout, Moneris) </li></ul><ul><li>Amazon Web Services (Amazon S3, Amazon EC2) </li></ul>Development - Technologies – External API
  9. 9. <ul><li>The process is adopted to support the entire life cycle and gives the ability to handle continuous development, maintenance, release and deployment. </li></ul><ul><li>SVN is used as a version control system </li></ul><ul><li>Build process is based on ANT and Maven and automates the whole project’s life cycle: compilation and build; local deployment; integration deployment; DB updating; test running; building releases etc. Build System is closely integrated with Continues Integration system </li></ul><ul><li>Issue tracking is based on Eventum issue tracker </li></ul><ul><li>Documentation system is build on top of open source java wiki system - JSPWiki </li></ul><ul><li>Continues integration is controlled by Cruise Control and is done with ANT. Integration system provides tasks for continues deployment of working version on integration server which is almost a clone of production environment </li></ul><ul><li>Selenium tests are used for functional testing of the systems and planned to be involved soon as well as unit tests in continues integration system </li></ul>Development – Process Support Tools
  10. 10. <ul><li>Monitoring </li></ul><ul><li>An external software infrastructure to monitor all server(s) activities and to measure and store the history of different metrics changes </li></ul><ul><li>Operative support </li></ul><ul><li>Analyzing server availability and pick values of different metrics, notifying support team of the events and applying operative actions for server reconfiguring and recovery in case of exceptions </li></ul><ul><li>Minor corrections and feedback </li></ul><ul><li>Applying support for minor corrections and bug and issue tracking after project‘s completion </li></ul><ul><li>We provide support services after the project or phase completion. This helps our customers to make minor corrections to the project after its launch and support the growth of its load without having to handle an entire development team. </li></ul>Monitoring and Support
  11. 11. <ul><li>We provide solutions based on Web interface which can be either closed within an enterprise intranet or be open to the public in the internet thus supporting external entry points and communications. </li></ul><ul><li>You can find our portfolio at </li></ul>Case Studies Right Factoring
  12. 12. <ul><li>Along with the process and technologies we are very proud of our developers, people who actually craft the software we produce. </li></ul><ul><li>We have gathered a great team of excellent professionals and open-minded persons which consists of java developers, flex developers, php developers, java script developers, Flex/HTML markup developer and off site designer. </li></ul>Development Team
  13. 13. Contact Us <ul><li>Please, feel free to contact us if you are looking for a software development partner, have a project to outsource, need a help with custom software or just interested in our company and the services we provide </li></ul>Dmytro Karamshuk, Executive Manager [email_address] +38 097 7194754 ICQ : 428469896 MSN : [email_address] Yahoo : stanfycom AIM : stanfycom Skype : stanfycom
  14. 14. Thank you for interest in Stanfy Meet us on