Hello, my name is Bryant Sharp. I am the owner, senior web developer [with 17 years of professional web development experience], head custodian, CFO, CEO and whatever else 'O' here at Cyber Oceans. I get a great sense of satisfaction by developing high quality web solutions for customers.

There are many web shops that are ok with, and have even been somewhat successful, offering web solutions built on a code base where the developers have completely abandoned (from an arrogant posture even sometimes) industry best practices, standards compliance and code hygiene. Code that completely stuffs the UI with inline styles, obtrusive inline java-script and hard-coded variables, overuse/abuse of session objects, little if any tier separation or loose coupling, little if any strongly typed objects... just string data types everywhere, no external java script files, maybe an external or global style sheet (just enough to conflict with all the inline styles jammed in each individual page).... A complete “rat rod “of abstract code duct taped over the years under the auspice of 'maintenance' and unable to scale (unless anyone has more more duct tape)...type of code nightmare. Then they present such to their customers as a high-end BMW. Many customer's accept the deliverable with a trusting smile because they, understandably, do not have the years of web development, object oriented, experience to know quality from mediocrity. The customer can only rely on the assurances and relationship with the good old salesman [I strongly dislike, have trust issues with, sales people...if you haven't noticed lol]...selling glass at a diamond's price.

To ensure code quality, Cyber Oceans does not out-source or contract out work and specializes in the creation and design of high quality enterprise level web applications that implement best practices and industry standards by default. Your project and ideas are truly important and no other vendors need acess to your project source code.

I'm more concerned about code quality and exceeding expectations on each tangent of the project more than just throwing code together to make a quick sale.

Maybe I'll hear from you?

Common Project Terms

Listed below, are some common terms that may be of help when describing your project ideas.

Static Websites, also known as a basic professional website, are most often maintained by a company's dedicated web developer or web designer or development team. Content is not persisted to any web database and is usually structured behind the scenes in a less complicated way.

Advantages of a responsive static basic website:

  • Less expensive to create initial product.
  • Quick to create and often used for advertising time sensitive events, promotions, meeting short-term objectives.

Disadvantages of a static basic website:

  • Website generating software often adds code bloat affecting W3C validation, hurting SEO, and page speed.
  • Person assigned to manage website usually requires some degree of technical expertise.
  • Best practices and other policy objectives such as Search Engine Optimization and Marketing objectives are less likely to be implemented consistently.
  • Inconsistent implementation/enforcement of standards, SEO, and best practices can dilute the efficacy of the website.

Dynamic Websites, also known as Custom Web Applications, are simply websites that have portions of their content stored in a database. Usually, an End User in an Administrative role, can sign in and manage the website to a certain degree. The Administrator, can for example add, edit, delete content, deactivate Users in less authoritative roles. The Administrator need not know how to write code and is often a staff member tasked with managing the website.

Advantages of a dynamic web application:

  • Content can be adjusted quickly.
  • Structure of web application can automatically implement business objectives consistently (e.g. SEO, Best Practices and Standards enforcement).
  • No need to place request to development team/developer to manage content.
  • Regular Staff need not learn how to write code.
  • A staff member managing the web application can do so at less expense that paying for a developer to make the changes/update requests.

Disadvantages of a dynamic web application:

  • Greater expense upfront to build due to complex business objectives.
  • Takes time for web application to see ROI.

Multi-Lingual Websites, also known as Web Applications that implement Localization / Globalization, are web applications that can switch between languages via resource files and or text translations saved in a database. Web applications are usually built in the primary language target first, then the text strings are translated and saved to resource files and/or database tables and called/rendered according to the selected culture parameter.

Some browsers and various plugins can translate the single page in scope. Some website companies place 3rd party plugins that translate that specific page being viewed. A common method, though more effort, of trannslating content is the use of resource files.

For RHRoofingLLC.com, Cyber Oceans created a content management web application [CMS] that could switch between English and Spanish. This web application, Cyber Oceans, translates into 4 languages English, Hebrew, Japanese, and Spanish.

Advantages of a multi-lingual web application:

  • Content can be tailored to address another demographic/niche market.
  • Content can be tailored to address another demographic/niche market.
  • A wider customer base can bring in more sales.

Disadvantages of a multi-lingual web application:

  • Greater expense upfront to build due to persisting translated text strings into resource files and/or database.
  • Takes time for web application see ROI.
  • Dynamic/new content must be translated mid-stream via a web service or similar means prior to be saved to a resource file and/or database.

When building anything of significance, a solid stable and strong foundation is required. The foundation of your web application is the database. We implement MS SQL best practices from the design process to security implementation. The common denominators of excellent database design are normalization, performance and security.

Normalization is the process of separating and organizing data in a database. The objective of normalization is to protect the data and to make the database and provide flexible by eliminating redundancy and inconsistent dependencies. When creating tables and establishing relationships between those tables the Developer greatly reduces redundant data that wastes disk space and creates maintenance problems. If data that exists in more than one place must be changed, the data must be changed in exactly the same way in all locations. A customer address change is much easier to implement if that data is stored only in the Customers table and nowhere else in the database.

Performance can be improved by applying indexes correctly and using tools such as SQL Profiler to investigate suspect stored procedures. Choosing the optimum data types for each column and following best practices when writing stored procedures, Cyber Oceans creates your database to the highest standards of quality.

Security for a database is generally assigned to the Database Administrator [DBA] of an organization. Objectives such as hardening the database, reducing the attack surface area and removing some default users/groups along with altering ports used are most often outside the scope of the application developer. Cyber Oceans usually builds the database and turns it over for review and implementation to a customer's DBA. However, we can install your database to your hosting providers server and create the appropriate user identity your web application will use when authenticating. Security items remaining under the developer's scope would include the encryption of sensitive data within the database along with securing the connection string within the application itself.

In summary, Cyber Oceans follows industry standards and database best practices when creating the foundation upon which your application will operate. You can be assured that when it comes to normalization, performance and security, Cyber Oceans will do it best to ensure the database of your web application will provide the solid foundation required.

** Cyber Oceans prefers to use MS SQL Server as it's database platform when creating customer database solutions.

We have years of experience building, deploying, and consuming various web service technologies.

  • WCF [Windows Communication Foundation]
  • WebAPI2 [Web Application Programming Interface]
  • Classic SOAP [Simple Object Access Protocol] Web Services

What exactly is a web service?

A web service is an implementation of a clearly defined business function that operates independent of the state of any other service. It has a well defined set of platform-independent interfaces and operates through a predefined contract with the consumer of the service.

Services are loosely coupled [a service need not know the technical details of another service in order to work with it] all interaction takes place through the clean interfaces.

Data between the consumer and the service are passed in XML format over a variety of protocols. The main protocols that web services use today are SOAP [Simple Object Access Protocol] and REST [Representational State Transfer]. While REST uses the existing internet infrastructure [HTTP], SOAP is independent of the network layer and can use a variety of network protocols like HTTP, SMTP.

Benefits of Service Oriented Architecture (SOA):

  1. Platform Independence – Since web services can be published and consumed across development and operating platforms, an enterprise can leverage its existing legacy applications that reside on different types of servers and build additional functionality without having to rebuild the entire thing. It also helps an enterprise to integrate its applications with those of its partners.
  2. Focused Developer Roles – Since a service is a discrete implementation independent of other services, developers in charge of a service can focus completely on implementing and maintaining that services without having to worry about other services as long as the defined contract is honored
  3. Location Transparency – Web services are often published to a directory where consumers can look them up. The advantage of this approach is that the web service can change its location at any time. Consumers of the service will be able to locate the service through the directory.
  4. Code Reuse – Since SOA breaks down an application into small independent pieces of functionality, the services can be reused in multiple applications, thereby bringing down the cost of development.
  5. Greater Test-ability – Small, independent services are easier to test and debug than monolithic applications. This leads to more reliable software.
  6. Parallel Development – Since the services are independent of each other and contracts between services are predefined, the services can be developed in parallel – this shortens the software development life cycle considerably.
  7. Better scalability – Since the location of a service does not matter anymore, the service can be transparently moved to a more powerful server to service more consumers if required. Also, there can be multiple instances of the service running on different servers. This increases scalability.
  8. Higher availability – Since the location of a service does not matter and you can have multiple instances of a service, it is possible to ensure high availability.