2009-03-24 38 views
7

Tôi có một khách hàng muốn sử dụng Nhà làm phim cho một số thứ trong văn phòng của họ và có thể giúp tôi xây dựng một ứng dụng web. Lần cuối cùng tôi sử dụng, hoặc nghĩ về, hoặc thậm chí nghe nói về, Filemaker đã được khoảng 10 năm trước đây, và tôi dường như nhớ rằng tôi không muốn sử dụng nó như là kết thúc trở lại của một ứng dụng web tinh vi, vì vậy tôi đang cố gắng bán chúng trên MySQL.MySQL AND Filemaker Pro?

Tuy nhiên, cơ sở dữ liệu Trình tạo phim của họ có nói chuyện với MySQL không? Bất kỳ ý tưởng làm thế nào tốt nhất để nói chuyện với họ từ Filemaker?

Trả lời

9

Bạn có thể gặp khó khăn khi nói chuyện với họ bằng FileMaker, vì nó thực sự là một công cụ khá thông minh để tạo các ứng dụng cơ sở dữ liệu nhỏ, trong nhà và có cơ sở người dùng rất trung thành. Nhưng bạn nói đúng - đó không phải là một công cụ tốt để tạo một ứng dụng web.

Tôi gặp sự cố tương tự với ứng dụng khách vẫn đang sử dụng ứng dụng dBase IV tùy chỉnh. May mắn thay, kho lưu trữ CPAN của Perl có các mô-đun để nói chuyện với mọi thứ. Vì vậy, tôi đã viết một kịch bản đã xuất khẩu toàn bộ cơ sở dữ liệu dBase IV mỗi đêm và tải nó lên MySQL như một tập hợp các bảng chỉ đọc.

Thật không may, điều này yêu cầu sử dụng MySQL trong 30 phút mỗi đêm. (Đó là một cơ sở dữ liệu lớn và chúng tôi phải chuyển đổi văn bản dạng tự do sang HTML.) Vì vậy, chúng tôi đã chuyển sang PostgreSQL và thực hiện toàn bộ cập nhật cơ sở dữ liệu dưới dạng một giao dịch.

Nhưng điều gì sẽ xảy ra nếu bạn cần quyền truy cập đọc-ghi vào cơ sở dữ liệu FileMaker? Trong trường hợp đó, bạn có nhiều lựa chọn, hầu hết trong số đó là xấu:

  1. Tạo bi-directional synchronization tool.
  2. Loại bỏ hoàn toàn FileMaker. Nếu cơ sở dữ liệu FileMaker của khách hàng là tầm thường, điều này có thể tương đối dễ dàng. Tôi sẽ bắt đầu bằng cách viết một bản sao nhanh và bẩn của các cơ sở dữ liệu quan trọng nhất của họ và giới thiệu nó cho họ trong một trình duyệt web.
  3. Ứng dụng khách thực sự có thể được phục vụ tốt nhất bởi ứng dụng web dựa trên FileMaker. Nếu có, refer them to Google.

Nhưng làm thế nào để bạn bán khách hàng trên một lựa chọn nhất định? Nó có lẽ là tốt nhất để đặt ra các chi phí và lợi ích của mỗi sự lựa chọn, và để cho khách hàng quyết định đó là tốt nhất cho doanh nghiệp của họ. Bạn có thể mất việc, nhưng bạn sẽ duy trì một danh tiếng cho lời khuyên trung thực, và bạn sẽ không tham gia vào một dự án phù hợp với khách hàng của bạn.

5

Tôi đã giải quyết vấn đề tương tự và tìm thấy một vài giải pháp EMK đã không được đề cập ...

  1. FileMaker có thể liên kết đến các nguồn dữ liệu SQL bên ngoài (ESS), do đó bạn có thể sử dụng ODBC để kết nối sang cơ sở dữ liệu MySQL (hoặc khác) và chia sẻ dữ liệu. Bạn có thể tìm thêm thông tin here. chúng tôi đã thử nó và thấy nó khá chậm để được trung thực
  2. Syncdek là sản phẩm tuyên bố cho phép bạn thực hiện sao chép dữ liệu và truyền dữ liệu giữa Trình tạo phim, MySQL và các nguồn có cấu trúc khác.
  3. Có thể sử dụng Instant Web Publishing của Filemaker làm dịch vụ web mà sau đó ứng dụng của bạn có thể đẩy và kéo dữ liệu qua.Chúng tôi đã tìm thấy một vài trình bao bọc cho điều này trong pythonphp
  4. bạn có thể đặt trình kích hoạt trong cơ sở dữ liệu FileMaker để mỗi lần một bản ghi được thay đổi (hoặc một phần của bản ghi bạn quan tâm) bạn có thể gọi một dịch vụ web cập nhật phiên bản MySQL hoặc memcached của dữ liệu đó mà trang web của bạn có thể truy cập.

Tôi thấy rằng những người như FileMaker vì nó cung cấp cho họ một giao diện trực quan trên dữ liệu của họ - rất dễ dàng để tạo các ứng dụng độc lập khá lớn mà không có quá nhiều kiến ​​thức phát triển. Tuy nhiên, khi nói đến sự hợp tác với nhiều người dùng hoặc trình bày dữ liệu này ở định dạng khác với ứng dụng FileMaker, chúng tôi thấy hiệu suất là một vấn đề thực sự.

8

Chúng tôi phát triển các giải pháp với cả FileMaker và PHP/MySQL. Đề xuất của chúng tôi là làm ứng dụng web trong một công nghệ tối ưu hóa ứng dụng web như MySQL. Đã có nói rằng, FileMaker không có một API PHP vững chắc vì vậy nếu ứng dụng web có nhu cầu tương đối nhẹ (ví dụ như trong sử dụng nhà) sau đó sử dụng và tiết kiệm cho mình những rắc rối của đồng bộ hóa.

FileMaker của let công nghệ ESS của FileMaker sử dụng một db SQL như các nguồn dữ liệu phụ trợ, trong đó cung cấp cho bạn 2 lựa chọn:

  1. Sử dụng ESS như một cách chặt chẽ tốt đẹp để đồng bộ hóa ngay trong FileMaker - cách mà bạn muốn có nguồn dữ liệu "gốc" để làm việc với bên trong giải pháp FileMaker.

  2. Sử dụng ESS để cho phép FileMaker được sử dụng như một công cụ chỉnh sửa/khai thác dữ liệu/truy vấn ngẫu nhiên và công cụ chỉnh sửa trực tiếp trên các bảng MySQL - nó hoạt động ngọt ngào.

Chúng tôi thấy việc xây dựng một ứng dụng phức tạp trong FileMaker với ESS/MySQL backend là rất khó khăn, vì vậy cho dù bạn chọn 1 hoặc 2 từ trên cao phụ thuộc vào nhiệm vụ như thế nào phức tạp và nặng nề mà FileMaker sử dụng được.

Nếu không, SyncDek có danh tiếng tốt là giải pháp của bên thứ ba để tự động đồng bộ hóa.

Các vấn đề liên quan